Question code VB

Le
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]
☺♂
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
Daniel.C
Le #20684131
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


FFO
Le #20684221
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é !!!
JMM21
Le #20684431
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]
☺♂
Publicité
Poster une réponse
Anonyme