OVH Cloud OVH Cloud

csv et excel xp

2 réponses
Avatar
seamus
Bonjour,
J'ai un pb avec excel xp. Quand je sauve au format csv par=20
l'interm=E9daire des menus, le s=E9parateur est le point-
virgule mais =E7a devient une virgule quand je sauve par=20
l'interm=E9daire d'une maco.
Comment faire pour que =E7a reste un point-virgule avec les=20
macros aussi?
J'ai essay=E9 saveas... local:=3Dtrue mais =E7a ne marche pas.
Merci pour votre aide.

2 réponses

Avatar
Clément Marcotte
La procédure suivante utilise trois façons différentes 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

"seamus" a écrit dans le message de
news:5ee001c3e5b9$027e7be0$
Bonjour,
J'ai un pb avec excel xp. Quand je sauve au format csv par
l'intermédaire des menus, le séparateur est le point-
virgule mais ça devient une virgule quand je sauve par
l'intermédaire d'une maco.
Comment faire pour que ça reste un point-virgule avec les
macros aussi?
J'ai essayé saveas... local:=true mais ça ne marche pas.
Merci pour votre aide.
Avatar
Seamus
ok merci

mais n'y-a-til aucun moyen de faire ça uniquement avec
saveas?
vu que le point vigule apparait lorsque je sauvegarde le
fichier à la main, pourquoi n'apparait-il pas lors d'une
sauvegarde avec macro?
merci