3 messages in org.openoffice.fr.progPasser des valeurs numériques avec Fo...
FromSent OnAttachments
pacOct 26, 2006 1:02 am 
Bernard MarcellyOct 27, 2006 5:35 am 
pacOct 29, 2006 11:46 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Passer des valeurs numériques avec FormulaArrayActions...
From:pac (pasc@free.fr)
Date:Oct 26, 2006 1:02:11 am
List:org.openoffice.fr.prog

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.