Comment combiner plusieurs classeurs en un seul classeur maître dans Excel?
Avez-vous déjà été bloqué lorsque vous devez combiner plusieurs classeurs dans un classeur maître dans Excel? Le plus terrible, c'est que les classeurs que vous devez combiner contiennent plusieurs feuilles de calcul. Et comment combiner uniquement les feuilles de calcul spécifiées de plusieurs classeurs dans un seul classeur? Ce didacticiel présente plusieurs méthodes utiles pour vous aider à résoudre le problème étape par étape.
- Méthode A: Combinez plusieurs classeurs en un seul classeur avec la fonction Déplacer ou Copier
- Méthode B: Combinez plusieurs classeurs ou feuilles de classeurs spécifiées dans un classeur principal avec VBA
- Méthode C: Combinez facilement plusieurs classeurs ou feuilles de classeurs spécifiques dans un classeur
Combinez plusieurs classeurs en un seul classeur 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 maître.
1. Ouvrez les classeurs que vous fusionnerez dans un classeur maître.
2. Sélectionnez les feuilles de calcul dans le classeur d'origine que vous allez déplacer ou copier dans le classeur maître.
Notes:
1). Vous pouvez sélectionner plusieurs feuilles de calcul non adjacentes en maintenant la touche Ctrl et cliquez sur les onglets de la feuille un par un.
2). Pour sélectionner plusieurs feuilles de calcul adjacentes, veuillez cliquer sur le premier onglet de la feuille, maintenez le bouton Shift puis cliquez sur le dernier onglet de la feuille pour les sélectionner tous.
3). Vous pouvez faire un clic droit sur n'importe quel onglet de feuille, cliquer sur Sélectionnez 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 de calcul nécessaires, cliquez avec le bouton droit sur l'onglet de la feuille, puis cliquez sur Déplacer ou copier dans le menu contextuel. Voir la capture d'écran:
4. Puis le Déplacer ou copier une boîte de dialogue apparaît, dans le Réserver dans la liste déroulante, sélectionnez le classeur principal dans lequel vous allez déplacer ou copier des feuilles de calcul. Sélectionnez déplacer pour terminer dans le Avant feuille case, cochez la case Créer une copie et enfin cliquez sur le OK .
Ensuite, vous pouvez voir les feuilles de calcul dans deux classeurs combinés en un. Veuillez répéter les étapes ci-dessus pour déplacer des feuilles de calcul d'autres classeurs vers le classeur maître.
Combinez plusieurs classeurs ou feuilles de classeurs spécifiées dans un classeur principal avec VBA
Si plusieurs classeurs doivent être fusionnés en un seul, vous pouvez appliquer les codes VBA suivants pour y parvenir rapidement. Veuillez faire comme suit.
1. Placez tous les classeurs que vous souhaitez combiner en un sous le même répertoire.
2. Lancez un fichier Excel (ce classeur sera le classeur principal).
3. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour les applications fenêtre. dans le Microsoft Visual Basic pour les applications fenêtre, cliquez sur insérer > Module, puis copiez ci-dessous le code VBA dans la fenêtre Module.
Code VBA 1: Fusionnez 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
Notes:
1. Le code VBA ci-dessus conservera les noms de feuille des classeurs d'origine après la fusion.
2. Si vous souhaitez distinguer quelles feuilles de calcul du classeur maître proviennent d'où après la fusion, veuillez appliquer le code VBA 2 ci-dessous.
3. Si vous souhaitez simplement combiner des feuilles de calcul spécifiées des classeurs dans un classeur maître, 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, "Feuille1, Feuille3"correspond aux feuilles de calcul spécifiées des classeurs que vous combinerez en un classeur maître. Vous pouvez les modifier en fonction de vos besoins.
Code VBA 2: Fusionnez les classeurs en un seul (chaque feuille de calcul 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 les feuilles de calcul spécifiées des classeurs dans un classeur maître:
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. appuie sur le F5 clé pour exécuter le code. Ensuite, toutes les feuilles de calcul ou les feuilles de calcul spécifiées des classeurs dans le certain dossier sont combinées à un classeur principal à la fois.
Combinez facilement plusieurs classeurs ou feuilles de classeurs spécifiques dans un classeur
Heureusement, le Combiner utilitaire de classeur de Kutools for Excel facilite beaucoup la fusion de plusieurs classeurs en un seul. Voyons comment faire fonctionner cette fonction en combinant plusieurs classeurs.
Avant d'appliquer Kutools for Excel, S'il vous plaît téléchargez et installez-le d'abord.
1. Créez un nouveau classeur et cliquez sur Kutools Plus > Combiner. Ensuite, 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 OK .
2. dans le Combiner des feuilles de travail assistant, sélectionnez Combinez plusieurs feuilles de calcul de classeurs dans un seul classeur , puis cliquez sur le Suivant bouton. Voir la capture d'écran:
3. dans le Combiner des feuilles de travail - Étape 2 sur 3 boîte de dialogue, cliquez sur le Ajouter > Déposez votre dernière attestation or Dossier pour ajouter les fichiers Excel, vous fusionnerez en un seul. Après avoir ajouté les fichiers Excel, cliquez sur le Finition et choisissez un dossier pour enregistrer le classeur maître. Voir la capture d'écran:
Désormais, tous les classeurs sont fusionnés en un seul.
Par rapport aux deux méthodes ci-dessus, Kutools for Excel présente les avantages suivants:
- 1) Tous les classeurs et feuilles de calcul sont répertoriés dans la boîte de dialogue;
- 2) Pour les feuilles de calcul que vous souhaitez exclure de la fusion, décochez-la simplement;
- 3) Les feuilles de calcul vierges sont automatiquement exclues;
- 4) Le nom de 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 passez à appliquer l'opération selon les étapes ci-dessus.