Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

formater une cellule avec XLSCreateur

3 réponses
Avatar
free
Bonjour

J'utilise xlscreateur pour générer un fichier xls depuis webdev
Je viens de voir un truc bizarre avec excel2007
Je veux formater un nombre avec un séparateur de millier

J'avais l'habitude de faire un
xls:xls_CreationFormat("# ##0")

Mais je viens de me rendre compte que ca déconne avec les négatifs
Au lieu de m'affichier "-5" , excel m'affiche "- 5"
Quand je regarde le format de la cellule sous excel, ca me donne "#\ ##0"

Excel ajoute un "\" devant mon format
Est ce que quelqu'un connait la bonne valeur de format ?

3 réponses

Avatar
Romain PETIT
free vient de nous annoncer :
Bonjour



Bonjour,

J'utilise xlscreateur pour générer un fichier xls depuis webdev
Je viens de voir un truc bizarre avec excel2007
Je veux formater un nombre avec un séparateur de millier
J'avais l'habitude de faire un
xls:xls_CreationFormat("# ##0")
Mais je viens de me rendre compte que ca déconne avec les négatifs
Au lieu de m'affichier "-5" , excel m'affiche "- 5"
Quand je regarde le format de la cellule sous excel, ca me donne "# ##0"
Excel ajoute un "" devant mon format
Est ce que quelqu'un connait la bonne valeur de format ?




j'avais eu également des petits soucis avec Excel2007 et les
séparateurs (je ne suis d'ailleurs pas sûr que ce soit totalement
réglé)

http://groups.google.com/group/fr.comp.developpement.agl.windev/browse_frm/thread/188f75f29a572135?pli=1

En gros, Excel peut être paramétré pour soit utiliser les sépateurs
décimal et de milliers du système, soit utiliser ceux définis dans les
options d'Excel.

La méthode est alors de lire le paramétrage et d'appliquer les formats
en utilisant le paramètre :

// récupération du paramétrage actuel d'Excel
bUseSystemSeparators = xl>>UseSystemSeparators
sDecimalSeparator = xl>>DecimalSeparator
sThousandsSeparator = xl>>ThousandsSeparator


SI bUseSystemSeparators ALORS
// récupération séparateur système
eLCData est une chaîne ASCIIZ sur 255
eLocale est un entier système
eRetVal est un entier système
eLocale = AppelDLL32("kernel32", "GetUserDefaultLCID")
eRetVal = AppelDLL32("kernel32", "GetLocaleInfoA", eLocale, 14,
&eLCData, 255) //LOCALE_SDECIMAL = 14
sDecimalSeparator = eLCData
eLocale = AppelDLL32("kernel32", "GetUserDefaultLCID")
eRetVal = AppelDLL32("kernel32", "GetLocaleInfoA", eLocale, 15,
&eLCData, 255) //LOCALE_STHOUSAND = 15
sThousandsSeparator = eLCData
FIN

// On formate ensuite la cellule sélectionnée

xl>>Selection>>NumberFormat =
"#"+sThousandsSeparator+"##0"+sDecimalSeparator+"0"



A voir si ca fonctionne...

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
free
Merci pour ta réponse.
Mais il s'agit du séparateur de millier. Et j'utilise le même que Excel.
De plus je n'ai pas accés à Excel car c'est le xls du client (et je génére
sur un site web)

"Romain PETIT" wrote in message
news:
free vient de nous annoncer :
Bonjour



Bonjour,

J'utilise xlscreateur pour générer un fichier xls depuis webdev
Je viens de voir un truc bizarre avec excel2007
Je veux formater un nombre avec un séparateur de millier
J'avais l'habitude de faire un
xls:xls_CreationFormat("# ##0")
Mais je viens de me rendre compte que ca déconne avec les négatifs
Au lieu de m'affichier "-5" , excel m'affiche "- 5"
Quand je regarde le format de la cellule sous excel, ca me donne "# ##0"
Excel ajoute un "" devant mon format
Est ce que quelqu'un connait la bonne valeur de format ?




j'avais eu également des petits soucis avec Excel2007 et les séparateurs
(je ne suis d'ailleurs pas sûr que ce soit totalement réglé)

http://groups.google.com/group/fr.comp.developpement.agl.windev/browse_frm/thread/188f75f29a572135?pli=1

En gros, Excel peut être paramétré pour soit utiliser les sépateurs
décimal et de milliers du système, soit utiliser ceux définis dans les
options d'Excel.

La méthode est alors de lire le paramétrage et d'appliquer les formats en
utilisant le paramètre :

// récupération du paramétrage actuel d'Excel
bUseSystemSeparators = xl>>UseSystemSeparators
sDecimalSeparator = xl>>DecimalSeparator
sThousandsSeparator = xl>>ThousandsSeparator


SI bUseSystemSeparators ALORS
// récupération séparateur système
eLCData est une chaîne ASCIIZ sur 255
eLocale est un entier système
eRetVal est un entier système
eLocale = AppelDLL32("kernel32", "GetUserDefaultLCID")
eRetVal = AppelDLL32("kernel32", "GetLocaleInfoA", eLocale, 14, &eLCData,
255) //LOCALE_SDECIMAL = 14
sDecimalSeparator = eLCData
eLocale = AppelDLL32("kernel32", "GetUserDefaultLCID")
eRetVal = AppelDLL32("kernel32", "GetLocaleInfoA", eLocale, 15, &eLCData,
255) //LOCALE_STHOUSAND = 15
sThousandsSeparator = eLCData
FIN

// On formate ensuite la cellule sélectionnée

xl>>Selection>>NumberFormat =
"#"+sThousandsSeparator+"##0"+sDecimalSeparator+"0"



A voir si ca fonctionne...

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup


Avatar
Patrick Girard
Bonjour

peut être faut il définir le format pour les nombres positifs et négatifs
essaye ça :

xls:xls_CreationFormat("# ##0;-# ##0")

Le 09/03/2011 18:36, free a écrit :
Bonjour

J'utilise xlscreateur pour générer un fichier xls depuis webdev
Je viens de voir un truc bizarre avec excel2007
Je veux formater un nombre avec un séparateur de millier

J'avais l'habitude de faire un
xls:xls_CreationFormat("# ##0")

Mais je viens de me rendre compte que ca déconne avec les négatifs
Au lieu de m'affichier "-5" , excel m'affiche "- 5"
Quand je regarde le format de la cellule sous excel, ca me donne "# ##0"

Excel ajoute un "" devant mon format
Est ce que quelqu'un connait la bonne valeur de format ?