Importer plusieurs centaines de fichiers .Text

Résolu/Fermé
vic - 29 sept. 2014 à 10:57
 vic - 1 oct. 2014 à 13:04
Bonjour,

Je voudrais savoir si il était possible avec Eexcel 2003 d'importer plusieurs centaines de fichiers .text dans un seul fichier Excel ( les un à la suite des autres). Sans avoir à
les faire un par un.

Merci bien .

Vic


A voir également:

13 réponses

Re
voila sur 2 feuilles

http://cjoint.com/?3IEplOl7MEX

je pense que pour moi ses fini

A+

Maurice
1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
29 sept. 2014 à 11:06
Bonjour,

C'est faisable par une macro.
Encore faut-il savoir comment sont les fichiers texte.
Format txt, csv, autre?
Nombre de lignes (éventuellement colonnes) de ces fichiers?
nombre de fichiers texte approximatif?
0
Bonjour,

Merci de ta réponse rapide

Alors il y a 170 lignes et 3 colonnes dans chaques fichiers. Ce sont des .txt. Nommés "jjmmaaaa xxxxxx.txt" Les "x" correspondent à des chiffres aléatoire ( du moins je connais pasleur signification ).

Ils sont tous dans C:\Multispec\Tests\LDB

Il y en a autour de 1000 je dirais.

Merci bien !
0
Bonjour

donne au moin un model de ton fichier TxT pour voir les separateure
voila une macro pour faire une list des Txt

Sub BoucleFichiersTxt()
Dim Chemin As String, Fichier As String
Cells.ClearContents
Range("A1").Select
'Définit le répertoire contenant les fichiers Txt
Chemin = ThisWorkbook.Path & "\FicTxt"
'Boucle sur tous les fichiers Txt du répertoire.
Fichier = Dir(Chemin & "*.txt")
Lig = 1
Do While Len(Fichier) > 0
Range("A" & Lig).Value = Chemin & "" & Fichier
Fichier = Dir()
Lig = Lig + 1
Loop
End Sub

A+
Maurice
0
Salut,

Merci je vais tester ça.

Voila un exemple de fichier txt
https://www.cjoint.com/c/DIDms5s4O4d

Merci bien

PS: j'ai jamais fais de macro avant ni de programmation. La macro pour la boucle il faut que je l'insère à quelle niveau de ma macro pour importer ?


Ci dessous, une macro faire à la souris pour importer le txt. Si je comprends bien, il faut que je mettes la boucle dedans ?

Sub test()
'
' test Macro
' Macro enregistrée le 29/09/2014 par t82phar1
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Multispec\Tests\LDB\09292014 084717.txt", Destination:=ActiveCell)
.Name = "09292014 084717"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileFixedColumnWidths = Array(23, 15)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
0

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

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
29 sept. 2014 à 12:25
ATTENTION :
170 lignes par fichier txt multiplié par 1000 fichiers = 170 000 lignes.
Excel 2003, il va falloir travailler sur au moins 3 feuilles différentes...
0
Re
je pense que le separateur est la tabulation

voila un fichier excel avec les macro listes des ficfier et cumul

http://cjoint.com/?3IDmK6tu7RQ

A+
Maurice
0
Merci je teste ça demain au boulot et je te dis si ça marche.

Encore bravo pour la rapidité des réponses. Je suis toujours impressionné !
0
@Maurice

J'ai lancé lancer la macro, alors cumul text bug, avec une erreur 75, en disant qu'il y a un problème de chemin d'accés. Le débogage surligne " Open NomFichier For Input As #1"

J'ai strictement aucune idée de ce qu'il faut corriger...
0
Bonjour

il faut changer chemin ex:

' Chemin = ThisWorkbook.Path & "\FicTxt\"

Chemin = "C:\Multispec\Tests\LDB\"

la je ne peux pas le faire ses a toi de le faire

A+
Maurice
0
Comme toujours merci de ta réponse.
Même après avoir changé le chemin, il fait toujours erreur 75 et le débogage surligne " Open NomFichier For Input As #1"

Que dois-je faire ?

J'ai également remarqué que la feuille est marqué Feuil1 et non Cumul ( qui est son nom dans le fichier excel)
0
re

en premier lancer liste Txt

pour les onglet se decompose en 2
ex:liste = non de l'onglet
& Feuil1 = CodeName

A+
Maurice
0
Ok,
Sauf que quand je lance liste rien ne se passe. Pas de bug, juste rien.
0
Je viens de remarquer le dossier LDB est en lecture seule es ce que ça peut changer quelques chose.

NomFichier=vide ( le commentaire quand je mets le curseur dessus). Il ne faut pas que je mette LDB ? ou le nom de mon premier fichier txt ?

Es ce que je dois replacer Feuil1 par Cumul ?

Merci bien
@+ Vic
0
Voilà le fichier contenant tous mes fichiers textes: http://cjoint.com/?DIEmlJpKPew

L'idée c'est de tous les mettres sur une ( ou plusieurs feuilles excel) pour pouvoir travailler dessus.

Je suis un peu perdu.

@Marcus, je comprends pas comment faire fonctionner ta macro. Qu'es ce que je dois changer d'autre en plus du chemin d'accés ?

Bien cordialement

Vic
0
bonjour

Voila une modif pour le chemin

http://cjoint.com/?3IEmDOliRUl

Lancer la macro 1 & 2 & 3

A+

Maurice
0
@Maurice.

Ca marche super bien. Merci beaucoup pour le coup de main et le temps consacré. Franchement s'est niquel.

Bien cordialement

@+
0