OVH Cloud OVH Cloud

vba et fichier csv

2 réponses
Avatar
gueridon
Bonjour,
j'ai enregistr=E9 une macro qui :
- ouvre un fichier en .txt
- effectue Donn=E9es / convertir avec comme d=E9limiteur ";"
- enregistre le fichier en .csv

Manuellement ces manipulations marchent. Mais lorsque je=20
lance la macro enregistr=E9e, au final, dans le fichier=20
csv, mes donn=E9es se trouvent dans une seule et m=EAme colonne
avec comme d=E9limiteur ","
Comment modifier le code pour retrouver dans le fichier=20
CSV mes donn=E9es dans des colonnes distinctes ?
Merci d'avance
Pascal

2 réponses

Avatar
Ellimac
Bonjour,

Une solution est de créer dans une nouvelle colonne une
formule de concaténation en séparant avec une virgule :

Sub Toto()
l = Range("a1").CurrentRegion.Rows.Count
For cpt = 1 To 4
A = A & "RC[" & -5 + cpt & "],"",""" & ","
Next
A = Left(A, Len(A) - 4)
ActiveCell.FormulaR1C1 = "=concatenate(" & A & ")"
ActiveCell.AutoFill Range("e1:e" & l)
'il ne reste qu'à copier en valeur et supprimer les
colonnes
End Sub

Camille

-----Message d'origine-----
Bonjour,
j'ai enregistré une macro qui :
- ouvre un fichier en .txt
- effectue Données / convertir avec comme délimiteur ";"
- enregistre le fichier en .csv

Manuellement ces manipulations marchent. Mais lorsque je
lance la macro enregistrée, au final, dans le fichier
csv, mes données se trouvent dans une seule et même
colonne

avec comme délimiteur ","
Comment modifier le code pour retrouver dans le fichier
CSV mes données dans des colonnes distinctes ?
Merci d'avance
Pascal

.



Avatar
Frédéric Sigonneau
Bonsoir,

Des solutions macro pour s'assurer que le délimiteur du fichier csv est bien
celui qu'on souhaite :

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,
j'ai enregistré une macro qui :
- ouvre un fichier en .txt
- effectue Données / convertir avec comme délimiteur ";"
- enregistre le fichier en .csv

Manuellement ces manipulations marchent. Mais lorsque je
lance la macro enregistrée, au final, dans le fichier
csv, mes données se trouvent dans une seule et même colonne
avec comme délimiteur ","
Comment modifier le code pour retrouver dans le fichier
CSV mes données dans des colonnes distinctes ?
Merci d'avance
Pascal