OVH Cloud OVH Cloud

ENREGISTREMENT CSV PAR MACRO

5 réponses
Avatar
SLECORNO
Je suis confront=E9e =E0 un dr=F4le de probl=E8me.
Lorsque j'enregistre un fichier en format CSV directement=20
sous Excel, j'ai bien un point virgule comme s=E9parateur.
Par contre, si je fait la m=EAme chose par macro en=20
utilisant la formule
ActiveWorkbook.SaveAs Filename:=3D _
"J:\PAF\0_CREATION DE MODELES\IMP CREATION=20
MOD.csv", FileFormat:=3DxlCSV, _
CreateBackup:=3DFalse
mon fichier est en s=E9parateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien=20
n'y fait.
Comment faire pour forcer le s=E9parateur lors d'un=20
enregistrement par macro ?
Par avance merci de vos retour.

5 réponses

Avatar
Misange
Bonjour,
tu trouveras dans la page application/excel et les autres deux macros pour
exporter avec la virgule ou le point virgule au choix vers un csv.

--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !======= mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le message de news:
08c901c3834a$1d29c0c0$
Je suis confrontée à un drôle de problème.
Lorsque j'enregistre un fichier en format CSV directement
sous Excel, j'ai bien un point virgule comme séparateur.
Par contre, si je fait la même chose par macro en
utilisant la formule
ActiveWorkbook.SaveAs Filename:= _
"J:PAF_CREATION DE MODELESIMP CREATION
MOD.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
mon fichier est en séparateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien
n'y fait.
Comment faire pour forcer le séparateur lors d'un
enregistrement par macro ?
Par avance merci de vos retour.
Avatar
SLECORNO
Merci pour votre réponse.
Par contre, comme je suis novice, je n’ai pas compris
votre réponse.
A quoi correspond la page application/excel dont vous
parler ci-dessous ?

Par avance merci de votre retour.


-----Message d'origine-----
Bonjour,
tu trouveras dans la page application/excel et les autres
deux macros pour

exporter avec la virgule ou le point virgule au choix
vers un csv.


--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !========
mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le
message de news:

08c901c3834a$1d29c0c0$
Je suis confrontée à un drôle de problème.
Lorsque j'enregistre un fichier en format CSV directement
sous Excel, j'ai bien un point virgule comme séparateur.
Par contre, si je fait la même chose par macro en
utilisant la formule
ActiveWorkbook.SaveAs Filename:= _
"J:PAF_CREATION DE MODELESIMP CREATION
MOD.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
mon fichier est en séparateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien
n'y fait.
Comment faire pour forcer le séparateur lors d'un
enregistrement par macro ?
Par avance merci de vos retour.


.



Avatar
Misange
Oups désolée !
J'ai oublié d'indiquer le lien exact (sur excelabo)
http://www.excelabo.net/xl/sortir.htm#exportervirgule

--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !======= mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le message de news:
1fa101c38362$ce7d55e0$
Merci pour votre réponse.
Par contre, comme je suis novice, je n’ai pas compris
votre réponse.
A quoi correspond la page application/excel dont vous
parler ci-dessous ?

Par avance merci de votre retour.


-----Message d'origine-----
Bonjour,
tu trouveras dans la page application/excel et les autres
deux macros pour

exporter avec la virgule ou le point virgule au choix
vers un csv.


--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !======= >mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le
message de news:

08c901c3834a$1d29c0c0$
Je suis confrontée à un drôle de problème.
Lorsque j'enregistre un fichier en format CSV directement
sous Excel, j'ai bien un point virgule comme séparateur.
Par contre, si je fait la même chose par macro en
utilisant la formule
ActiveWorkbook.SaveAs Filename:= _
"J:PAF_CREATION DE MODELESIMP CREATION
MOD.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
mon fichier est en séparateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien
n'y fait.
Comment faire pour forcer le séparateur lors d'un
enregistrement par macro ?
Par avance merci de vos retour.


.



Avatar
SLECORNO
Merci pour ce retour.
La macro me semble cependant un peu compliqué.
De tout ce que j'ai pu lire, les gens cherchent
effectivement surtout à exporter avec séparateur ",".
Or moi, c'est le contraire. Je veux bien exporter sous le
format normal CVS ";"
Quand j'enregistre un fichier sous ce format en manuel
sous Excel tout est ok. Mais quand je l'utilise sous
macro, mon fichier est séparé par des "," et non pas
des ";". La macro n'utilise donc pas le format CSV
standard d'Excel. Cela me paraît gloque !

N'existe-il vraiment pas la possibilité de paramétrer
simplement le séparateur sous Excel ?

Merci par avance de votre retour.


-----Message d'origine-----
Oups désolée !
J'ai oublié d'indiquer le lien exact (sur excelabo)
http://www.excelabo.net/xl/sortir.htm#exportervirgule

--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !========
mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le
message de news:

1fa101c38362$ce7d55e0$
Merci pour votre réponse.
Par contre, comme je suis novice, je n’ai pas compris
votre réponse.
A quoi correspond la page application/excel dont vous
parler ci-dessous ?

Par avance merci de votre retour.


-----Message d'origine-----
Bonjour,
tu trouveras dans la page application/excel et les autres
deux macros pour

exporter avec la virgule ou le point virgule au choix
vers un csv.


--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !========
mail : http://cerbermail.com/?k5Q8Dh2mta




"SLECORNO" a écrit dans le
message de news:

08c901c3834a$1d29c0c0$
Je suis confrontée à un drôle de problème.
Lorsque j'enregistre un fichier en format CSV directement
sous Excel, j'ai bien un point virgule comme séparateur.
Par contre, si je fait la même chose par macro en
utilisant la formule
ActiveWorkbook.SaveAs Filename:= _
"J:PAF_CREATION DE MODELESIMP CREATION
MOD.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
mon fichier est en séparateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien
n'y fait.
Comment faire pour forcer le séparateur lors d'un
enregistrement par macro ?
Par avance merci de vos retour.


.




.




Avatar
Clément Marcotte
Bonjour,

La procédure suivante utilise trois façons d'écrire un fichier texte
avec VB-VBA:


Sub ecrirelefichiertexteavecdesvirgules()
Open "unbeaufichiertexte.txt" For Output As 1
Dim i As Integer, derniereligne As Integer
Sheets("Feuil1").Select
derniereligne = [a65536].End(xlUp).Row
'Avec Write
For i = 1 To derniereligne
Write #1, Cells(i, 1).Value; Cells(i, 2).Value; _
Cells(i, 3).Value; Cells(i, 4).Value
Next
'Avec Print et virgules
'Le séparateur dans le fichier est entre guillemets
'le séparateur VBA n'est pas entre guillemets
For i = 1 To derniereligne
Print #1, Chr(34); Cells(i, 1).Value; Chr(34); _
","; Chr(34); Cells(i, 2).Value; Chr(34); _
","; Cells(i, 3).Value; ","; Chr(34); _
Cells(i, 4).Value; Chr(34)
Next
'Le séparateur dans le fichier est entre guillemets
'le séparateur VBA n'est pas entre guillemets
'sauf pour les points-virgules qui collent les
'nom et les guillemets
For i = 1 To derniereligne
Print #1, Chr(34); Cells(i, 1).Value; Chr(34), ",", _
Chr(34); Cells(i, 2).Value; Chr(34); , _
",", Cells(i, 3).Value, ",", Chr(34); _
Cells(i, 4).Value; Chr(34)
Next
Close
End Sub




"SLECORNO" a écrit dans le message de
news:08c901c3834a$1d29c0c0$
Je suis confrontée à un drôle de problème.
Lorsque j'enregistre un fichier en format CSV directement
sous Excel, j'ai bien un point virgule comme séparateur.
Par contre, si je fait la même chose par macro en
utilisant la formule
ActiveWorkbook.SaveAs Filename:= _
"J:PAF_CREATION DE MODELESIMP CREATION
MOD.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
mon fichier est en séparateur virgule.
J'ai essayer tous les fileformat de type xlCSV mais rien
n'y fait.
Comment faire pour forcer le séparateur lors d'un
enregistrement par macro ?
Par avance merci de vos retour.