Message de Frédéric Besnard  date 2007-06-11 22:02 :
hello,

j'utilise OOo 2.2.
si j'ai bien compris, la fonction Csng convertit une string en single (décimal
simple précision).
Or, voici le résultat de deux appels:
Csng("12,34") --> retourne 12
Csng("12.34") --> retourne 12754


Bonjour,

Ce fonctionnement existe aussi pour CDbl().
Basic fait une interprétation de la chaîne de caractères en fonction de
l'environnement linguistique.
Voir : Menu Outils > Options > Paramètres linguistiques > Langues >
Environnment linguistique.

Le résultat dépend _notamment_ du séparateur décimal associé à
l'environnement linguistique : virgule ou point. Ceci n'a aucun lien
avec la case Touche séparateur de décimales.
Peut-être que cela dépend aussi de configurations linguistiques du système d'exploitation et de la cohérence avec celle d'OpenOffice.

Solution :
- soit écrire une chaîne correspondant à l'environnement linguistique
utilisé par l'installation OpenOffice où est exécutée la macro
- soit écrire une chaîne à point décimal et l'évaluer par la fonction Val()

CSng(Val("12.34"))

______
Bernard

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

Répondre à