VIVEZ LE
FOOTBALL !

Posez votre question Signaler

VBA excel .csv en .txt [Résolu]

aurelie76 54Messages postés 19 avril 2008Date d'inscription 23 janvier 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

VBA excel .csv en .txt »

7 réponses
Réponse
+0
moins plus
Bonjour,

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

;o)
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,

tu l'ouvres dans excel, tu insères une colonne en A, tu l'enregistres en csv puis tu le renommes en .txt
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir à tous,

j'ai fini par adapter mon soft avec vos conseils, merci bcp, bizzzzzz aurelie76
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir,

met le poste en résolu STP
Ajouter un commentaire
Ce document intitulé « VBA excel .csv en .txt » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?