Comment parcourir les classeurs d’un répertoire et copier leurs données vers une feuille maîtresse dans Excel ?
Supposons que vous ayez plusieurs classeurs Excel dans un même dossier et que vous deviez parcourir chacun de ces fichiers pour copier les données d’une plage spécifique d’une feuille cohérente (par exemple, Feuil1) vers une feuille de calcul principale. Ce guide vous propose une solution VBA détaillée pour rationaliser ce processus sous Excel.
Parcourir les fichiers d’un répertoire et copier les données vers une feuille maîtresse à l’aide d’un code VBA
Si vous souhaitez copier les données de la plage A1:D4 de toutes les feuilles « Feuil1 » des classeurs situés dans un dossier spécifique et les coller dans une feuille maîtresse, suivez la procédure ci-dessous.
1. Dans le classeur où vous souhaitez créer une Feuille de calcul principale, appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insertion > Module, puis copiez le code VBA ci-dessous dans la fenêtre de code.
Code VBA : parcourir les fichiers d’un dossier et copier les données vers 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, sélectionnez le dossier contenant les fichiers que vous souhaitez parcourir, puis cliquez sur le bouton OK. Voir la capture d’écran :

Une feuille de calcul principale intitulée « New Sheet » est alors créée à la fin du classeur actuel. Les données de la plage A1:D4 de toutes les feuilles Feuil1 du dossier sélectionné y sont listées.
Articles associés :
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition 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é de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels