OVH Cloud OVH Cloud

Séparateur décimal, enregistre sous et macro...

1 réponse
Avatar
Louis
Bonjour

soit une cellule contenant un nombre décimal


9 , 90

je veux enregistrer le classeur au format CSV par une macro

je lance donc un

Active Workbook.SaveAs Filename := "monclasseur.csv" FileFormat := xlCSV

(code généré par "nouvelle macro")

dans le fichier sauvegarder par la MACRO , le séparateur décimal se
transforme en POINT alors qu'il reste VIRGULE si on fait la manip à la main
!!!!!

Est ce logique ? est ce un BUG

comment garder la VIRGULE comme séparateur décimal lors d'un enregistrement
par MACRO ?


Merci @ tous

Louis

1 réponse

Avatar
Frédéric Sigonneau
Bonsoir,

La seule logique, c'est qu'en VBA les formats US sont rois :(
Depuis Excel 2002, la méthode SaveAs possède cependant un paramètre Local qui
corrige cet inconvénient :

ActiveWorkbook.SaveAs Filename:="monclasseur.csv", FileFormat:=xlCSV,Local:=True

Si tu n'utilises pas Excel 2002 ou 2003, il faut adopter d'autres méthodes pour
enregistrer au format CSV et conserver tes paramètres régionaux (ou utiliser un
séparateur de ton choix). Plusieurs exemples sur cette page :

http://perso.wanadoo.fr/frederic.sigonneau/Formats.htm

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour

soit une cellule contenant un nombre décimal


9 , 90

je veux enregistrer le classeur au format CSV par une macro

je lance donc un

Active Workbook.SaveAs Filename := "monclasseur.csv" FileFormat := xlCSV

(code généré par "nouvelle macro")

dans le fichier sauvegarder par la MACRO , le séparateur décimal se
transforme en POINT alors qu'il reste VIRGULE si on fait la manip à la main
!!!!!

Est ce logique ? est ce un BUG

comment garder la VIRGULE comme séparateur décimal lors d'un enregistrement
par MACRO ?


Merci @ tous

Louis