Bonjour le forum,
J'utilise la macro ci-dessous pour importer plusieurs fichiers.xls avec la feuille 1 dans un même et seul fichier de consolidation . J'aimerais modifier cette macro afin qu'elle puisse importer aussi toutes les feuilles de chaque fichier xls. Actuellement, elle l'importe que la feuille 1. de chaque fichier.
Pourriez-vous m'aider à modifier ce code ou peut-être existe-t-il une autre méthode ?
Merci d'avance pour votre aide.
Soleil11:
J'utilise la macro ci-dessous pour importer plusieurs fichiers.xls avec la feuille 1 dans un même et seul fichier de consolidation . J'aimerais modifier cette macro afin qu'elle puisse importer aussi toutes les feuilles de chaque fichier xls. Actuellement, elle l'importe que la feuille 1. de chaque fichier.
Pourriez-vous m'aider à modifier ce code ou peut-être existe-t-il une autre méthode ?
Code:
Sub Import_Files2()
Dim Ligne As Long, Lig As Long
Dim tabStr() As String
Dim v_path$
Dim ws As Worksheet, wbk As Workbook, Temp$, Rep$, Fic$
Set ws = ThisWorkbook.Sheets(1) ' <- Feuille de copie des données
Worksheets("Macrodata").Activate
v_path$ = Sheets("Macrodata").Range("G7")
MsgBox ("From path: '" & v_path$ & "'")
Rep = v_path$ & "\": Fic = "*.xls" ' <-Désignation du dossier/type de fichier
Temp = Dir(Rep & Fic) ' <- ici on parcourt le dossier
Application.ScreenUpdating = False ' <- ici on fige l'écran
Do While Temp <> ""
Set wbk = Workbooks.Open(Rep & Temp) '<- ici on ouvre le classeur trouvé
For Each Sheet In wbk.Sheets
Lig = wbk.Sheets(1).UsedRange.Rows.Count
Ligne = ws.[A65536].End(xlUp).Row
With ThisWorkbook
Sheets(1).Copy after:=.Sheets(.Sheets.Count) 'copie les feuilles et leur noms
End With
wbk.Close '<- fermeture du classeur
Next Sheet
Temp = Dir
Loop
Set wbk = Nothing '<- reset variable WBk
Application.ScreenUpdating = True '<- ici on défige l'écran
End Sub
Merci d'avance pour votre aide.
Soleil11: