VBA excel .csv en .txt

Résolu/Fermé
aurelie76 Messages postés 88 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2017 - 12 août 2010 à 21:39
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 23 août 2010 à 21:39
Bonjour,


mon pb est de transformer un .csv en .txt via une macro avec comme résultat dans le fichier txt :

; A;B;C;D

je n'arrive qu'à obtenir

A;B;C;D et il me faut absolument un ; devant le A,

quelqu'un a-t-il une soluce pour mon pb,

merci pour votre aide,

cdlt,

aurelie

7 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 août 2010 à 21:45
Bonjour,

Mets le bout de code ici pour qu'on te corrige.

;o)
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
12 août 2010 à 21:50
Bonsoir,

tu l'ouvres dans excel, tu insères une colonne en A, tu l'enregistres en csv puis tu le renommes en .txt
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
13 août 2010 à 01:20
Bonjour,

Si j'ai bien compris, tu veux un fichier .txt dont lignes sont au format .csv - point virgule, mais qui commencent par une colonne vide (c-à-d par un ;).

Voici une macro un peu brute mais qui fonctionne.
Copie la dans un fichier vierge que tu ouvre en même temps que ton fichier xls à convertir (remplace "MonClasseur.xls" par le nom de ton fichier à convertir).

Sub test()

Dim Adr As String
Dim Chemin As String
Dim NomFichier As String
Dim NomFichierCsv As String
Dim NomFichierTxt As String

NomFichier = "MonClasseur.xls"
Workbooks(NomFichier).Activate
Chemin = ActiveWorkbook.Path & "\"
ActiveWorkbook.Save   'par sécurité

NomFichierCsv = Mid(NomFichier, 1, Len(NomFichier) - 3) & "csv"
NomFichierTxt = Mid(NomFichier, 1, Len(NomFichier) - 3) & "txt"
Adr = ActiveSheet.Rows(1).Resize(, ActiveSheet.UsedRange.Columns.Count + 1).Address
'Inserer une ligne et une colonne vierges, et des titres bidons
ActiveSheet.Rows(1).Insert
ActiveSheet.Columns(1).Insert
ActiveSheet.Range(Adr).Formula = "X"
'Enregistrer au format CSV point-virgule et fermer
ActiveWorkbook.SaveAs Filename:=Chemin & NomFichierCsv, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Workbooks(NomFichierCsv).Saved = True
Workbooks(NomFichierCsv).Close
'Ouvrir (au format text)
Workbooks.Open Filename:=Chemin & NomFichierCsv
'Supprimer le 1° ligne bidon
ActiveSheet.Rows(1).Delete
'Enregistrer au format text et fermer
ActiveWorkbook.SaveAs Filename:=Chemin & NomFichierTxt, FileFormat:=xlCurrentPlatformText, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWorkbook.Close

'Ré-ouvrir le fichier xls initial
Workbooks.Open Filename:=Chemin & NomFichier, UpdateLinks:=xlUpdateLinksAlways

End Sub


Tu devras ensuite supprimer manuellement le fichier .cvs devenue inutile, situé dans le même répertoire que ton fichier.xls initial et ton fichier.txt

Cordialement
Patrice
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 13/08/2010 à 09:47
Bonjour tou(te)s,
Tu pourrais au moins répondre aux messages que tu a eu sur ton poste précédant et qui concerne la même question.
Une solution parmi d'autre sur ce topic
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aurelie76 Messages postés 88 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2017 3
16 août 2010 à 21:35
bonsoir,

désolé pour ceux et celles qui m'ont répondu, je reviens de déplacement professionnel juste il y a qqes minutes, je regarde vos propos et je reviens vous dire ce qu'il en ai mais dores et déjà je vous remercie tous(tes). bisous à tout le monde pour votre aide,

cdlt,

aurelie
0
aurelie76 Messages postés 88 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2017 3
23 août 2010 à 21:04
bonsoir à tous,

j'ai fini par adapter mon soft avec vos conseils, merci bcp, bizzzzzz aurelie76
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
23 août 2010 à 21:39
bonsoir,

met le poste en résolu STP
0