formater une cellule avec XLSCreateur

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #23192671
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
free
Le #23194511
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" 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


Patrick Girard
Le #23204051
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 ?


Publicité
Poster une réponse
Anonyme