Copie de plusieurs fichiers textes dans un seul via VBA

Lailaine

XLDnaute Nouveau
Bonjour à tous,

Mon but : Créer un nouveau fichier txt à partir d'archives de fichiers txt donc plusieurs (beaucoup) de fichiers.
Dans le nouveau .txt il y aurait toutes les données de tous les fichiers (cf meilleurs explications par la suite ^^)


C'est parti pour les poupées russes!!!
Je m'explique, en fait j'ai un dossier d'archivage
A l'intérieur de ce dossier d'archivage, moultes dossiers ayant pour nom une date.
A l'intérieur de ces dossiers ayant pour nom une date, des fichiers txt avec pour titre l'objet concerné.
A l'intérieur de ces fichiers txt, LES DONNEES (oui enfin!!!) , il y a trois données par fichier (grosso-modo fichier de trois lignes avec une donnée par ligne)

Il faut donc que j'ouvre chaque dossier puis chaque fichier pour récupérer les données. Et en plus, il faudrait rajouter en donnée le nom du fichier (pour avoir l'objet concerné) et le nom du dossier (pour avoir la date)
(ce qui ferait un total de 5 données par "ligne" )


J’ai déjà fait pas mal de choses en VBA donc je pensais a deux boucles For Each (for each dossier puis for each fichier) sauf que je n’ai jamais travaillé avec l’ouverture de dossier ni vraiment avec des arborescences en général …
Alors si une ame charitable à envie de m'aider, elle est bienvenue !!!

En vous remerciant d’avance rien que pour avoir eu la patience de lire ce lonnnnnnnnnnnnnnnnnng pavé !
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Copie de plusieurs fichiers textes dans un seul via VBA

Code:
ChDir ThisWorkbook.Path
Open "classeur1.txt" For Input As #1
Open "classeur5.txt" For Output As #2
'--1er fichier
Do While Not EOF(1)
  Line Input #1, ligne
  Print #2, ligne
Loop
Close #1
'-- 2e fichier
Open "classeur2.txt" For Input As #1
'  Line Input #1, ligne             ' 1ere ligne 
Do While Not EOF(1)
   Line Input #1, ligne
   Print #2, ligne
Loop
Close #1, #2

JB
Formation Excel VBA JB
 

tototiti2008

XLDnaute Barbatruc
Re : Copie de plusieurs fichiers textes dans un seul via VBA

Bonjour lailaine,

Tes données dans ton fichier texte final, tu les veux en ligne ? du type :

NomDossier NomFichier Donnée1 Données2 Donnée3

Avec un séparateur de champ ";" ou tabulation ?
 

Lailaine

XLDnaute Nouveau
Re : Copie de plusieurs fichiers textes dans un seul via VBA

Waou!!!! Quelle rapidité!!!
(merci merci merci à tous les deux:p )
En fait les fichiers textes sont sous ce style de forme
NomDeDonnée1;DonnéeA1
NomDeDonnée2;DonnéeA2
NomDeDonnée3;DonnéeA3

et pour un deuxième fichier ..
NomDeDonnée1;DonnéeB1
NomDeDonnée2;DonnéeB2
NomDeDonnée3;DonnéeB3

et ainsi de suite, dans l'ideal il faudrait avoir
NomDuDossier;NomDuFichier;DonnéeA1;DonnéeA2;DonnéeA3
NomDuDossier;NomDuFichier;DonnéeB1;DonnéeB2;DonnéeB3
....


Après pour le séparateur , il n'a pas vraiment d'importance (je crois:p) il me suffira juste de réutiliser le bon lors du transfert vers la base de donnée.

Je vais etudier le code si gentilment (et rapidement XD) communiqué ;)
Merci encore!!!:eek:


(un petit edit pour faire une remarque... tototiti j'aime beaucoup ta citation ;) c'est encourageant!!!)
 
Dernière édition:

Lailaine

XLDnaute Nouveau
Re : Copie de plusieurs fichiers textes dans un seul via VBA

Voila j'ai bien retesté le fichier de BOISGONTIER en prenant juste deux fichiers textes :)

J'ai tout mis dans le même dossier (les fichiers d'input et celui d'output :) )
et là, un grand mystère, le code fonctionne à merveille ... si je met le change directory en commentaire, sinon ca n'écrit rien dans le fichier d'output :confused:
Bon l'essentiel c'est que ca marche mais je me demande bien pourquoi dans un cas ca marche et pas dans l'autre !!!

(voilà c'est ça de se poser trop de question et de vouloir tout comprendre!!!)


Et sinon est ce qu'il y a moyen de parcourir le fichier.txt de la meme facon (a savoir en utilisant la fonction booléenne EOF) sachant qu'il faudrait garder uniquement ce qu'il y a après le séparateur ";" de chaque ligne?

Aller plutôt qu'un merci, je fais des bizoux
 

tototiti2008

XLDnaute Barbatruc
Re : Copie de plusieurs fichiers textes dans un seul via VBA

Voilà lailaine, j'ai fait un truc...

Dis-moi ce que tu en penses ;)
 

Pièces jointes

  • Fusion.xls
    24 KB · Affichages: 204
  • Fusion.xls
    24 KB · Affichages: 209
  • Fusion.xls
    24 KB · Affichages: 233

Lailaine

XLDnaute Nouveau
Re : Copie de plusieurs fichiers textes dans un seul via VBA

A première vue, j'en pense que c'est extrêmement gentil et je te remercie !!!!
Je vais aller regarder ca et si j'ai des questions, je te fais signe ^^ (et si j'en ai pas je reviendrai pour dire que tout est parfait XD)

merci encore!!!!
 

Lailaine

XLDnaute Nouveau
Re : Copie de plusieurs fichiers textes dans un seul via VBA

:-O
quand je vois ton programme je comprend pourquoi le miens avait du mal à marcher! Bravo pour le tien, il fonctionne à merveille!!!

Tu devrais t'appeler sony, j'en ai rêvé et tu l'as fait!!!!

J'ai plus qu'à aller me renseigner sur les quelques fonctions que je ne connaissais pas :)
 

Discussions similaires

Réponses
13
Affichages
500

Statistiques des forums

Discussions
312 194
Messages
2 086 070
Membres
103 110
dernier inscrit
Privé