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

Question code VB

3 réponses
Avatar
JMM21
Bonjour,

je souhaite enregistrer un fichier céé avec Excel (2003) en format CVS
(séparteur ;)
"à la main", cela fonctionne.
Par contre j'ai tenté une macro qui est sensée le faire à ma place avec le
code suivant (code généré par le mode assisté) :
ActiveWorkbook.SaveAs Filename:="NOMFIC.csv", FileFormat:=xlCSV
La sauvegarde s'effectue bien en csv, mais le séparateur qui apparait dans
le fichier est une virgule et non pas un point-virgule.
Et cela ce n'est pas normal, vous en conviendrez.
Quelqu'un aurait-il une solution ou à défaut une explication.
Merci d'avance
--
[Jmm21]
☺♂

3 réponses

Avatar
Daniel.C
Bonjour.
";" est le séparateur français (ou défini dans les paramètres locaux
Windows). Par défaut, VBA utilise le séparateur US "," (d'où le "C"
pour "comma" de CSV).
Avec XL2003, tu peux ajouter le paramètre "Local=True" à ta ligne de
commande. C'est alors le ";" qui sera pris en considération.
Cordialement.
Daniel

Bonjour,

je souhaite enregistrer un fichier céé avec Excel (2003) en format CVS
(séparteur ;)
"à la main", cela fonctionne.
Par contre j'ai tenté une macro qui est sensée le faire à ma place avec le
code suivant (code généré par le mode assisté) :
ActiveWorkbook.SaveAs Filename:="NOMFIC.csv", FileFormat:=xlCSV
La sauvegarde s'effectue bien en csv, mais le séparateur qui apparait dans
le fichier est une virgule et non pas un point-virgule.
Et cela ce n'est pas normal, vous en conviendrez.
Quelqu'un aurait-il une solution ou à défaut une explication.
Merci d'avance


Avatar
FFO
Salut à toi

J'ai trouvé ceci sur la toile :

"Depuis Excel 2002, l'export en CSV via VBA prend par défaut une virgule.
(Sauf si on le fait à la main: Fichier/Enregistrer sous/ CSV (séparateur
point-virgule)) Pour forcer Excel ou Access à utiliser un point-virgule lors
de l'export d'un fichier Excel vers CSV, il faut :


Vérifier dans les Options Régionales (Panneau de configuration de Windows),
onglets Nombres, si le séparateur de liste est bien un point-virgule.
Ajouter ceci dans le code : Local:=True pour forcer Excel à utiliser le
séparateur configuré sur l'ordinateur utilisé.
Soit :

appXl.ActiveWorkbook.SaveAs Filename:= _
"D:MonFichier.csv", FileFormat:=xlCSV, _
CreateBackup:úlse, Local:=True


Et là on a bien des points-virgules comme séparateurs dans le fichier CSV. "

J'ai essayé sans succés mais peut être toi il en sera pas de même

Tiens moi informé !!!
Avatar
JMM21
Merci à FFO et à Daniel qui de concert ont répondu à mon épineuse question :

Avec XL2003, tu peux ajouter le paramètre "Local=True" à ta ligne de
commande. C'est alors le ";" qui sera pris en considération.



Cela fonctionne parfaitement

Bonne journée et encore merci
Bien cordialement
--
[Jmm21]
☺♂