Comment parcourir les classeurs dans un dossier et copier des données dans une feuille maîtresse dans Excel ?
Supposons que vous ayez plusieurs classeurs Excel dans un dossier et que vous deviez parcourir tous ces fichiers pour copier des données d'une plage spécifique dans une feuille de calcul cohérente (par exemple, Feuille1) vers une feuille maîtresse. Ce guide fournit une solution VBA détaillée pour rationaliser ce processus dans Excel.
Parcourir les fichiers dans un dossier et copier des données dans une feuille maîtresse avec du code VBA
Si vous souhaitez copier des données de la plage A1:D4 dans toutes les feuilles nommées Feuille1 des classeurs d'un dossier spécifique et les coller dans une feuille maîtresse, veuillez suivre les étapes ci-dessous.
1. Dans le classeur où vous allez créer une feuille maîtresse, appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module. Ensuite, copiez le code VBA ci-dessous dans la fenêtre de code.
Code VBA : parcourir les fichiers dans un dossier et copier des données dans une feuille maîtresse
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Remarque :
3. Appuyez sur la touche F5 pour exécuter le code.
4. Dans la fenêtre Parcourir qui s'ouvre, veuillez sélectionner le dossier contenant les fichiers à parcourir, puis cliquez sur le bouton OK. Voir capture d'écran :
Une feuille maîtresse nommée « Nouvelle Feuille » est alors créée à la fin du classeur actuel. Et les données de la plage A1:D4 de toutes les Feuilles1 dans le dossier sélectionné sont listées dans cette feuille.
Articles connexes :
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels