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
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
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
12 août 2010 à 21:45
Bonjour,
Mets le bout de code ici pour qu'on te corrige.
;o)
Mets le bout de code ici pour qu'on te corrige.
;o)
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
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
tu l'ouvres dans excel, tu insères une colonne en A, tu l'enregistres en csv puis tu le renommes en .txt
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
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).
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
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
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
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)
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
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
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
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
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
23 août 2010 à 21:04
bonsoir à tous,
j'ai fini par adapter mon soft avec vos conseils, merci bcp, bizzzzzz aurelie76
j'ai fini par adapter mon soft avec vos conseils, merci bcp, bizzzzzz aurelie76
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
23 août 2010 à 21:39
bonsoir,
met le poste en résolu STP
met le poste en résolu STP