Comment combiner plusieurs classeurs en un seul classeur principal dans Excel ?
Êtes-vous déjà resté bloqué lorsque vous deviez combiner plusieurs classeurs en un seul classeur principal dans Excel ? Le pire, c'est que les classeurs que vous devez combiner contiennent plusieurs feuilles de calcul. Et comment ne combiner que les feuilles spécifiées de plusieurs classeurs en un seul classeur ? Ce tutoriel présente plusieurs méthodes utiles pour vous aider à résoudre le problème étape par étape.
- Méthode A : Combiner plusieurs classeurs en un seul avec la fonction Déplacer ou Copier
- Méthode B : Combiner plusieurs classeurs ou feuilles spécifiées de classeurs en un classeur principal avec VBA
- Méthode C : Facilement combiner plusieurs classeurs ou feuilles spécifiées de classeurs en un seul classeur
Combiner plusieurs classeurs en un seul avec la fonction Déplacer ou Copier
S'il n'y a que quelques classeurs à combiner, vous pouvez utiliser la commande Déplacer ou Copier pour déplacer ou copier manuellement des feuilles de calcul du classeur d'origine vers le classeur principal.
1. Ouvrez les classeurs que vous souhaitez fusionner dans un classeur principal.
2. Sélectionnez les feuilles de calcul dans le classeur d'origine que vous allez déplacer ou copier dans le classeur principal.
Remarques :
1). Vous pouvez sélectionner plusieurs feuilles non adjacentes en maintenant la touche Ctrl et en cliquant sur les onglets des feuilles un par un.
2). Pour sélectionner plusieurs feuilles adjacentes, cliquez sur le premier onglet de feuille, maintenez la touche Maj ( Shift ), puis cliquez sur le dernier onglet pour les sélectionner toutes.
3). Vous pouvez faire un clic droit sur n'importe quel onglet de feuille, cliquer sur Sélectionner toutes les feuilles dans le menu contextuel pour sélectionner toutes les feuilles de calcul du classeur en même temps.
3. Après avoir sélectionné les feuilles nécessaires, faites un clic droit sur l'onglet de la feuille, puis cliquez sur Déplacer ou Copier dans le menu contextuel. Voir capture d'écran :
4. Ensuite, la fenêtre Déplacer ou Copier apparaît, dans le menu déroulant Vers le classeur, sélectionnez le classeur principal où vous déplacerez ou copierez les feuilles de calcul. Sélectionnez Déplacer en bas dans la zone Avant la feuille, cochez la case Créer une copie, et enfin cliquez sur le bouton OK.
Vous pouvez alors voir les feuilles de calcul des deux classeurs combinées en une seule. Veuillez répéter les étapes ci-dessus pour déplacer les feuilles de calcul d'autres classeurs vers le classeur principal.
Combiner plusieurs classeurs ou feuilles spécifiées de classeurs en un classeur principal avec VBA
S'il y a plusieurs classeurs à fusionner en un seul, vous pouvez appliquer les codes VBA suivants pour y parvenir rapidement. Veuillez procéder comme suit.
1. Placez tous les classeurs que vous souhaitez combiner dans un même dossier.
2. Lancez un fichier Excel (ce classeur sera le classeur principal).
3. Appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insérer > Module, puis copiez le code VBA ci-dessous dans la fenêtre Module.
Code VBA 1 : Fusionner plusieurs classeurs Excel en un seul
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Remarques :
1. Le code VBA ci-dessus conservera les noms des feuilles des classeurs d'origine après la fusion.
2. Si vous souhaitez distinguer quelles feuilles dans le classeur principal proviennent d'où après la fusion, veuillez appliquer le code VBA 2 ci-dessous.
3. Si vous souhaitez simplement combiner des feuilles spécifiques des classeurs en un classeur principal, le code VBA 3 ci-dessous peut vous aider.
Dans les codes VBA, “C:\Users\DT168\Desktop\KTE\” est le chemin du dossier. Dans le code VBA 3, "Sheet1,Sheet3" sont les feuilles spécifiées des classeurs que vous combinerez en un classeur principal. Vous pouvez les modifier selon vos besoins.
Code VBA 2 : Fusionner des classeurs en un seul (chaque feuille sera nommée avec le préfixe de son nom de fichier d'origine) :
Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Code VBA 3 : Fusionner des feuilles spécifiées de classeurs en un classeur principal :
Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. Appuyez sur la touche F5 pour exécuter le code. Ensuite, toutes les feuilles de calcul ou feuilles spécifiées des classeurs dans un certain dossier sont combinées en un classeur principal en une seule fois.
Facilement combiner plusieurs classeurs ou feuilles spécifiées de classeurs en un seul classeur
Heureusement, l'utilitaire de combinaison de classeurs de Kutools for Excel facilite grandement la fusion de plusieurs classeurs en un seul. Voyons comment cette fonctionnalité fonctionne pour combiner plusieurs classeurs.
Avant d'appliquer Kutools pour Excel, veuillez d'abord le télécharger et l'installer.
1. Créez un nouveau classeur et cliquez sur Kutools Plus > Combine. Une boîte de dialogue apparaît pour vous rappeler que tous les classeurs combinés doivent être enregistrés et que la fonctionnalité ne peut pas être appliquée aux classeurs protégés, veuillez cliquer sur le bouton OK.
2. Dans l'assistant Combiner des feuilles de calcul, sélectionnez l'option Combiner plusieurs feuilles de calcul de classeurs en un seul classeur, puis cliquez sur le bouton Suivant. Voir capture d'écran :
3. Dans la boîte de dialogue Combiner des feuilles de calcul - Étape 2 sur 3, cliquez sur Ajouter > Fichier ou Dossier pour ajouter les fichiers Excel que vous fusionnerez en un seul. Après avoir ajouté les fichiers Excel, cliquez sur le bouton Terminer et choisissez un dossier pour enregistrer le classeur principal. Voir capture d'écran :
Maintenant, tous les classeurs sont fusionnés en un seul.
Comparé aux deux méthodes ci-dessus, Kutools for Excel présente les avantages suivants :
- 1) Tous les classeurs et feuilles de calcul sont listés dans la boîte de dialogue ;
- 2) Pour les feuilles de calcul que vous souhaitez exclure de la fusion, il suffit de décocher la case correspondante ;
- 3) Les feuilles vides sont automatiquement exclues ;
- 4) Le nom du fichier d'origine sera ajouté comme préfixe au nom de la feuille après la fusion ;
- Pour plus de fonctions de cette fonctionnalité, veuillez visiter ici.
Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis aller appliquer l'opération selon les étapes ci-dessus.
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement 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 pour vous chaque jour !