3 messages in org.openoffice.fr.progRe: [prog]Passer des valeurs numériqu...
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:Re: [prog]Passer des valeurs numériques avec FormulaArrayActions...
From:pac (pasc@free.fr)
Date:Oct 29, 2006 11:46:55 pm
List:org.openoffice.fr.prog

Bonjour,

Bernard Marcelly a écrit :

Bonjour pac Message du 2006-10-26 10:02:

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.

(...)

Je comprends bien que ce n'est normalement pas la bonne méthode, qu'il serrait plus approprié de découper la Range en beaucoup de petites Range et soit utiliser la propriété DataArray soit la propriété FormulaArray suivant le besoin. Mais il est possible de n'utiliser que la propriété FormulaArray. Si j'y arrive, ça me simplifiera énormément le travail.

Je cherche la solution la plus simple pour arriver à faire passer les numériques en FormulaArray.

getDataArray() renvoie pour chaque cellule la propriété .Value qui est soit un Double si c'est un nombre, soit un String si c'est un texte.

setFormulaArray() change pour chaque cellule la propriété Formula, qui contient un String représentant la formule en anglais.

Dans OOo, la propriété Formula doit contenir une chaîne de caractères commençant par le signe = Les nombres utilisent toujours un point décimal. Par exemple : "=3.14" quel que soit le Locale. Pour une simple valeur, ça marche sans le signe = mais je préfère le mettre.

Donc tu envoies sur .Formula une valeur Double, que Basic (ou le pont COM) transforme en String suivant le Locale, donc en français il met un séparateur décimal virgule. Et ça coince.

Bonne journée Bernard

Je vais essayer de changer séparateur décimal de , en . avant de créer le tableau de variant qui affectera la FormulaArray afin que tous les nombres soient formatés en . Je vous tiens au courant si ça donne quelquechose.