Bonjour,
Je souhaite copier plusieurs fichiers texte qui sont dans un répertoire: prendre tous les fichiers test1_... (test1_08/01/2016, test1_09/01/2016, ...) et les coller dans l'onglet test1. Dans mon répertoire il y a aussi d'autres fichiers avec des noms différents.
J'ai ce code :
Sub Macrotest1()
'
' Charge test1
'
Dim Fichier As String, Chemin As String
Dim i As Long
Sheets("test1").Activate
Chemin = "...\test "
Fichier = Dir(Chemin & "\test1*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Fichier = Dir
DoEvents
Loop
End Sub
Sub ImportText(NomFichier As Variant, Cible As Range)
Dim QT As QueryTable
Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
NomFichier, Destination:=Cible)
With QT
'Définit les séparateur de colonnes dans le fichier txt
.TextFileOtherDelimiter = ";"
.TextFileSemicolonDelimiter = True
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.Refresh
End With
End Sub
Il fonctionne et me charge bien tous les fichiers test1 mais lorsque je fais pareil avec d'autres noms de fichiers : (test2) j'ai un message d'erreur 7 : mémoire insuffisante.
Est ce quelqu'un a déjà rencontré ce type de problème? Je vous remercie de m'aider à trouver une solution.
Si vous avez aussi une autre solution je prends
Partager