copier plusieur txt en une feuille xl

  • Initiateur de la discussion Initiateur de la discussion clausin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

clausin

Guest
Bonjour et merci d'avance pour l'aide

j'ai 90 fichiers texte avec des petits tableaux (qui ont la meme structure) que j'aimerai tranformer en format excel et coller ensemble pour faire un seul grand tableau sur une feuille excel

mais je ne sais pas programmer une macro
- c'est faisable?
- comment ? :whistle:
 
Bonjour clausin


oui c'est possible.

il existe de nombreux codes sur le forum traitant ce type de manip.

sur les pages wiki de michelXLD tu trouveras aussi de nombreux exemples (voir menu de gauche du site à Wiki)

Sinon merci de nous dire comment son structurées tes fichiers txt notamment le séparateur.

salut
 
merci beaucoup
je vais aller chercher tout ce que tu me conseilles
mes fichiers txt ont une tab comme separation et une fois integres dans excel deviennent des tableau a deux colonnes
le probleme est aussi aue les tableaux n'ont pas le meme nombre de lignes
 
Bonjour

afin de t'aider, un code qui boucle sur tout les fichiers texte d'un répertoire et renvoi l'ensemble des données dans une nouvelle feuille.

Il faut que le classeur de la macro soit sauvegardé dans le meme répertoire que les fichiers txt (sinon adapté la variable chemin)


Sub Bouton1_QuandClic()
Dim Chemin As String
Dim rep As String, ligne As String
Dim tablosplit
Dim tablo()
Dim x As Integer
Dim i As Byte

Chemin = ThisWorkbook.Path & '////'

rep = Dir(Chemin & '*.txt')

'boucle sur tout les fichiers txt du répertoire
While Not rep = ''

'ouvre le txt
Open rep For Input As #1
       
'boucle sur chaque ligne du txt
       
Do While Not EOF(1)
        Line
Input #1, ligne
       
'déconcatene la ligne
        tablosplit = Split(ligne, Chr(9))
        x = x + 1
       
'stock la déconcaténation dans un tableau
       
ReDim Preserve tablo(1 To 2, 1 To x)
       
For i = 0 To UBound(tablosplit)
                tablo(i + 1, x) = tablosplit(i)
       
Next i
Loop
Close #1
rep = Dir
Wend

'crée une nouvelle feuille
With Sheets.Add
       
'renvoi le tableau dans la nouvelle feuille
       
For i = 1 To UBound(tablo, 2)
                .Cells(i, 1) = tablo(1, i)
                .Cells(i, 2) = tablo(2, i)
       
Next i
End With

End Sub

salut
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
8
Affichages
2 K
StanislasC
S
I
Réponses
7
Affichages
2 K
desquiens.gabriel@hotmail
D
Retour