VBA excel .csv en .txt
Résolu
aurelie76
Messages postés
88
Statut
Membre
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
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
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
-
Bonjour,
Mets le bout de code ici pour qu'on te corrige.
;o) -
Bonsoir,
tu l'ouvres dans excel, tu insères une colonne en A, tu l'enregistres en csv puis tu le renommes en .txt -
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 -
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) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
bonsoir à tous,
j'ai fini par adapter mon soft avec vos conseils, merci bcp, bizzzzzz aurelie76 -
bonsoir,
met le poste en résolu STP