Accéder au contenu principal

Comment diviser un grand tableau en plusieurs petits tableaux dans Excel ?

Author: Xiaoyang Last Modified: 2025-05-27

Si vous avez un grand tableau Excel avec plusieurs colonnes et des centaines ou des milliers de lignes, vous pourriez vouloir le diviser en tableaux plus petits et plus faciles à gérer. Par exemple, vous pourriez avoir besoin de séparer les données en fonction des valeurs spécifiques d'une colonne ou de les diviser en blocs contenant un nombre fixe de lignes. Ce tutoriel fournit des méthodes étape par étape pour accomplir cette tâche efficacement.

Tableau principal   Diviser un tableau en plusieurs tableaux selon les valeurs d'une colonne Diviser un tableau en plusieurs tableaux selon le nombre de lignes
A screenshot of a large table in Excel before splitting Arrow A screenshot of an Excel table split by column values A screenshot of an Excel table split by row count

Diviser un grand tableau en plusieurs tableaux en fonction des valeurs d'une colonne avec du code VBA

Diviser un grand tableau en plusieurs tableaux en fonction d'un nombre spécifique de lignes avec du code VBA

Diviser un grand tableau en plusieurs tableaux en fonction des valeurs d'une colonne ou du nombre de lignes avec Kutools pour Excel


Diviser un grand tableau en plusieurs tableaux en fonction des valeurs d'une colonne avec du code VBA

Pour diviser ce grand tableau en plusieurs tableaux basés sur une valeur spécifique d'une colonne, le code VBA suivant peut vous aider. Veuillez procéder comme suit :

1. Maintenez les touches "ALT" + "F11" enfoncées pour ouvrir la fenêtre "Microsoft Visual Basic pour Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre "Module".

Code VBA : Diviser un grand tableau en plusieurs tableaux par colonne clé :

Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. Après avoir collé le code, appuyez sur la touche "F5" pour exécuter ce code, et une boîte de dialogue apparaît, veuillez sélectionner la ligne d'en-tête de vos données, voir capture d'écran :

A screenshot showing how to select the header row for splitting tables

4. Ensuite, cliquez sur "OK", et une autre boîte de dialogue apparaît, veuillez sélectionner les données de la colonne sur laquelle vous souhaitez diviser le tableau, voir capture d'écran :

A screenshot showing how to select the column for splitting tables by values

5. Cliquez sur "OK". Le grand tableau a maintenant été divisé en plusieurs feuilles de calcul basées sur les valeurs de la colonne, les nouvelles feuilles de calcul étant situées après la feuille principale. Les nouvelles feuilles de calcul sont nommées avec la valeur de la colonne. Voir capture d'écran :

A screenshot showing multiple worksheets created after splitting by column values


Diviser un grand tableau en plusieurs tableaux en fonction d'un nombre spécifique de lignes avec du code VBA

Si vous devez diviser le tableau en plusieurs tableaux en fonction du nombre de lignes, le code VBA suivant peut vous aider.

1. Maintenez les touches "ALT" + "F11" enfoncées pour ouvrir la fenêtre "Microsoft Visual Basic pour Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre "Module".

Code VBA : Diviser un grand tableau en plusieurs tableaux par nombre de lignes :

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. Ensuite, appuyez sur la touche "F5", dans la boîte de dialogue qui s'affiche, sélectionnez la ligne d'en-tête, voir capture d'écran :

A screenshot showing how to select the header row for splitting by row count

4. Ensuite, cliquez sur "OK", et dans la deuxième boîte de dialogue, sélectionnez la plage de données que vous souhaitez diviser par nombre de lignes, voir capture d'écran :

A screenshot showing how to select the data range for splitting by rows

5. Puis, continuez en cliquant sur le bouton "OK", dans la troisième boîte de dialogue, entrez le nombre de lignes par lequel vous souhaitez diviser, voir capture d'écran :

A screenshot showing how to enter the number of rows for splitting in Excel

6. Ensuite, cliquez sur le bouton "OK", le tableau principal a été divisé en plusieurs feuilles de calcul en fonction du nombre de lignes comme le montre la capture d'écran ci-dessous :

A screenshot of multiple worksheets created after splitting by row count


Diviser un grand tableau en plusieurs tableaux en fonction des valeurs d'une colonne ou du nombre de lignes avec Kutools pour Excel

Les codes ci-dessus pourraient être difficiles pour la plupart des utilisateurs, voici donc une fonctionnalité étonnante - "Diviser les données" de "Kutools pour Excel". Avec cet outil, vous pouvez rapidement et facilement diviser un grand tableau en plusieurs tableaux par colonne clé ou par nombre de lignes.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de données que vous souhaitez diviser, puis cliquez sur "Kutools Plus" > "Diviser les données", voir capture d'écran :

2. Dans la boîte de dialogue "Diviser les données en plusieurs feuilles de calcul", spécifiez les paramètres selon vos besoins :

(1.) Sélectionnez "Colonne spécifique" ou "Nombre fixe de lignes" dans la section "Critère de division" selon vos besoins ;

(2.) Spécifiez le nom des nouvelles feuilles de calcul à partir de la liste déroulante "Règle", vous pouvez également ajouter un "Préfixe" ou un "Suffixe" aux noms des feuilles.

A screenshot showing settings for splitting data using Kutools

3. Ensuite, cliquez sur le bouton "Ok", et maintenant, le grand tableau a été divisé en plusieurs petits tableaux dans un nouveau classeur. Voir captures d'écran :

Diviser un tableau en plusieurs tableaux selon les valeurs d'une colonne Diviser un tableau en plusieurs tableaux selon le nombre de lignes
A screenshot of an Excel table split into worksheets by column values using Kutools A screenshot of an Excel table split into worksheets by row count using Kutools

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


Plus d'articles connexes :

  • Diviser un classeur en fichiers Excel séparés dans Excel
  • Vous pourriez avoir besoin de diviser un grand classeur en fichiers Excel séparés en enregistrant chaque feuille de calcul du classeur sous forme de fichier Excel individuel. Par exemple, vous pouvez diviser un classeur en plusieurs fichiers Excel individuels, puis distribuer chaque fichier à différentes personnes pour qu'ils le traitent. De cette façon, vous pouvez faire en sorte que certaines personnes traitent des données spécifiques et garder vos données en sécurité. Cet article présentera des moyens de diviser un grand classeur en fichiers Excel séparés en fonction de chaque feuille de calcul.
  • Diviser un nom complet en prénom et nom de famille dans Excel
  • Supposons que vous ayez une liste de noms comme le montre la première capture d'écran dans une seule colonne ci-dessous, et que vous deviez diviser le nom complet en colonne de prénom, colonne de deuxième prénom et colonne de nom de famille comme le montre la capture d'écran suivante. Voici quelques astuces pour vous aider à résoudre ce problème.
  • Diviser un mot ou un nombre en cellules distinctes dans Excel
  • Si vous avez une liste de nombres ou de mots dans une feuille de calcul, et que vous devez maintenant diviser le contenu des cellules en lettres sur différentes cellules comme le montre la capture d'écran suivante, comment pouvez-vous gérer cette tâche dans Excel ?
  • Diviser une longue liste en groupes égaux dans Excel
  • Si vous avez une longue liste de données qui doit être divisée en plusieurs groupes égaux comme le montre la capture d'écran suivante, comment pourriez-vous gérer cette tâche rapidement et facilement dans Excel ?

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

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 !