Bonjour tout le monde,

j'essaie de faire un code qui affecte d'une seule fois des valeurs et des formules dans une range, j'utilise donc la propriété FormulaArray pour le faire.
Voici un petit code d'exemple pour montrer le problème :

REM  *****  BASIC  *****


sub Main

Dim oRange
Dim oFeuille
Dim Valeur as Variant
Dim ligne as Variant

   oFeuille = ThisComponent.currentController.activeSheet
   oRange = oFeuille.getCellRangeByName( "B2:C3" )

   Valeur = oRange.DataArray

   ligne = Valeur( 0 )
   ligne( 0 ) = 1.11 'Ne marche pas
   ligne( 1 ) = "2,22" 'Ne marche pas
   Valeur( 0 ) = ligne
ligne = Valeur( 1 )
   ligne( 0 ) = "3.33"
   ligne( 1 ) = 4
   Valeur( 1 ) = ligne

   oRange.FormulaArray = Valeur

end sub


Si on passe un numérique avec virgule, il n'est pas reconnu par OOo qui met un ' devant le nombre, de même si on le passe en tant que string utilisant une virgule. Par contre, si on le passe en string avec un point ça fonctionne et si on passe un numérique en numérique sans point ni virgule ça passe aussi.

Le soucis est que je dois travailler indépendamment du DecimalSeparator défini par le système d'exploitation et au moment de l'affectation du FormulaArray, il n'est plus possible de savoir quelle valeur à quelle place est censée être du numérique, du texte ou une formule.

Je cherche la solution la plus simple pour arriver à faire passer les numériques en FormulaArray. S'il est possible de faire passer des formules autre qu'avec FormulaArray, je suis aussi preneur. Excel accepte par exemple les formules quand on passe par Value (équivalent du DataArray de OOo).

Merci.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à