Bonjour Patrick,
Ci-dessous une proposition de code qui pourrait peut-être répondre à ta demande :
Sub ListeFichiersTxt()
Dim Dossier As Object, Fichier As Object
Dim Chemin As String
Dim I As Long
'Chemin du dossier à analyser (à adapter au besoin)
Chemin = ThisWorkbook.Path
'
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 3) <> "xls" Then
LireFichier Fichier
End If
Next
'Conversion des données
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=True, Other:=False
Range("A1").Select
End Sub
Sub LireFichier(Fichier As Object)
Dim NL As Long, Chaine As String
Dim L As Long
'Insère le nom du fichier
L = ActiveSheet.Range("A65536").End(xlUp).Row
Cells(L + 1, 1).Value = Fichier.Name
'Récupère les lignes du fichier
Open Fichier For Input As #1
Do While Not EOF(1)
NL = NL + 1
Input #1, Chaine
Cells(L + NL + 1, 1).Value = Chaine
Loop
Close #1
End Sub
Cette macro va analyser le dossier dans lequel se situe ton classeur, il récupère les lignes de texte contenu dans chaque fichier présent dans ce répertoire et ENSUITE, procède à la conversion des données.
ATTENTION aux fichiers présents dans ce répertoire et au dépassement de capacité (récupération de 65535 lignes maximum !)
Cordialement.
Didier_mDF