Accéder au contenu principal

Comment supprimer les lignes en double d'un tableau dans un document Word ?

Author: Sun Last Modified: 2025-05-27

Dans un document Word, il peut y avoir des tableaux contenant des lignes en double que vous souhaitez supprimer tout en conservant la première occurrence. Dans ce cas, vous pouvez choisir de supprimer les doublons un par un manuellement, ou vous pouvez utiliser le code VBA.

Supprimer les lignes en double d'un tableau dans Word


Supprimer les lignes en double d'un tableau dans Word

1. Placez le curseur sur le tableau dont vous souhaitez supprimer les lignes en double, puis appuyez sur les touches Alt + F11 pour activer la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insérer > Module pour créer un nouveau Module.
Insert > Module options in the VBA window

3. Copiez le code ci-dessous et collez-le dans le script du nouveau Module.

VBA : Supprimer les lignes en double d'un tableau dans Word

Public Sub DeleteDuplicateRows2()
'UpdatebyExtendoffice20181011
    Dim xTable As Table
    Dim xRow As Range
    Dim xStr As String
    Dim xDic As Object
    Dim I, J, KK, xNum As Long
    If ActiveDocument.Tables.Count = 0 Then
        MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set xDic = CreateObject("Scripting.Dictionary")
    If Selection.Information(wdWithInTable) Then
        Set xTable = Selection.Tables(1)
        For I = xTable.Rows.Count To 1 Step -1
            Set xRow = xTable.Rows(I).Range
            xStr = xRow.Text
            xNum = -1
            If xDic.Exists(xStr) Then
'                xTable.Rows(I).Delete
                For J = xTable.Rows.Count To 1 Step -1
                    If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then
                        xNum = xNum + 1
                        xTable.Rows(J).Delete
                    End If
                Next
                I = I - xNum
            Else
                xDic.Add xStr, I
            End If
        Next
    Else
        For I = 1 To ActiveDocument.Tables.Count
            Set xTable = ActiveDocument.Tables(I)
            xNum = -1
            xDic.RemoveAll
            For J = xTable.Rows.Count To 1 Step -1
                Set xRow = xTable.Rows(J).Range
                xStr = xRow.Text
                xNum = -1
                If xDic.Exists(xStr) Then
    '                xTable.Rows(I).Delete
                    For KK = xTable.Rows.Count To 1 Step -1
                        If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then
                            xNum = xNum + 1
                            xTable.Rows(KK).Delete
                        End If
                    Next
                    J = J - xNum
                Else
                    xDic.Add xStr, J
                End If
            Next
        Next
    End If
    Application.ScreenUpdating = True
End Sub

VBA pasted into the Module window

4. Appuyez sur la touche F5 pour exécuter le code, ensuite toutes les lignes en double seront supprimées.
All duplicate rows are removed from the table

Remarque : Le code ci-dessus est sensible à la casse. Si vous souhaitez supprimer les lignes en double sans tenir compte de la casse, vous pouvez utiliser le code suivant :

Public Sub DeleteDuplicateRows2()
'UpdatebyExtendoffice20181011
    Dim xTable As Table
    Dim xRow As Range
    Dim xStr As String
    Dim xDic As Object
    Dim I, J, KK, xNum As Long
    If ActiveDocument.Tables.Count = 0 Then
        MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set xDic = CreateObject("Scripting.Dictionary")
    If Selection.Information(wdWithInTable) Then
        Set xTable = Selection.Tables(1)
        For I = xTable.Rows.Count To 1 Step -1
            Set xRow = xTable.Rows(I).Range
            xStr = UCase(xRow.Text)
            xNum = -1
            If xDic.Exists(xStr) Then
'                xTable.Rows(I).Delete
                For J = xTable.Rows.Count To 1 Step -1
                    If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then
                        xNum = xNum + 1
                        xTable.Rows(J).Delete
                    End If
                Next
                I = I - xNum
            Else
                xDic.Add xStr, I
            End If
        Next
    Else
        For I = 1 To ActiveDocument.Tables.Count
            Set xTable = ActiveDocument.Tables(I)
            xNum = -1
            xDic.RemoveAll
            For J = xTable.Rows.Count To 1 Step -1
                Set xRow = xTable.Rows(J).Range
                xStr = UCase(xRow.Text)
                xNum = -1
                If xDic.Exists(xStr) Then
    '                xTable.Rows(I).Delete
                    For KK = xTable.Rows.Count To 1 Step -1
                        If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then
                            xNum = xNum + 1
                            xTable.Rows(KK).Delete
                        End If
                    Next
                    J = J - xNum
                Else
                    xDic.Add xStr, J
                End If
            Next
        Next
    End If
    Application.ScreenUpdating = True
End Sub

Si vous souhaitez supprimer les lignes en double dans tous les tableaux du document, placez le curseur n'importe où dans le document en dehors du tableau, puis appliquez l'un des codes ci-dessus.


Office Tab : Intègre des interfaces à onglets dans Word, Excel, PowerPoint...
Navigate through documents using Office Tab
Améliorez votre flux de travail dès maintenant.En savoir plus sur Office Tab Téléchargement gratuit

Faites plus en moins de temps avec Kutools pour Word amélioré par l'IA

Kutools pour Word n'est pas seulement un ensemble d'outils - c'est une solution intelligente conçue pour augmenter votre productivité. Avec des fonctionnalités pilotées par l'IA et les fonctionnalités les plus essentielles, Kutools vous aide à accomplir plus en moins de temps :

  • Résumez, réécrivez, composez et traduisez du contenu instantanément.
  • Relisez le texte en temps réel avec des suggestions de grammaire, de ponctuation et de style pendant que vous écrivez.
  • Reformulez et traduisez du contenu tout en conservant la mise en page, le style et la structure intacts.
  • Traduisez votre contenu dans plus de 40 langues facilement, élargissant ainsi votre portée mondiale.
  • Recevez une aide instantanée et des informations intelligentes basées sur le contenu de votre document actuel.
  • Demandez comment effectuer une tâche - comme supprimer des sauts de section - et l'IA vous guidera ou le fera pour vous.
  • Expurgez des informations sensibles ou confidentielles en quelques secondes pour assurer une confidentialité totale.
  • Tous les outils fonctionnent de manière transparente dans Word, toujours à portée de main.
  • Créez, affinez, traduisez, résumez et sécurisez des documents sans effort.
  • Améliorez la grammaire, la clarté et le ton en temps réel pendant que vous écrivez.
  • Reformulez et traduisez du contenu sans changer la mise en page ou la mise en forme.
  • Demandez comment effectuer une tâche - comme supprimer des sauts de section - et l'IA vous guidera ou le fera pour vous.
  • Tous les outils fonctionnent de manière transparente dans Word, toujours à portée de main.
En savoir plus sur Kutools for Word Télécharger maintenant
Kutools for Word features

Meilleurs outils de productivité pour Office

Kutools pour Word - Élevez votre expérience Word avec plus de 100 fonctionnalités remarquables !

🤖 Fonctionnalités AI de Kutools : Assistant IA / Assistant en Temps Réel / Super Polonais (Conserver le format) / Super Traduire (Conserver le format) / Rédaction IA / Correction AI...

📘 Maîtrise des documents : Diviser les pages / Fusionner les documents / Exporter la sélection dans divers formats (PDF/TXT/DOC/HTML...) / Conversion en lot vers PDF...

Édition de contenu : Recherche et remplacement en lot dans plusieurs fichiers / Redimensionner toutes les images / Transposer les lignes et colonnes du tableau / Convertir le tableau en texte...

🧹 Nettoyage sans effort : Éliminer les espaces supplémentaires / Sauts de section / Zones de texte / Liens hypertexte / Pour plus d'outils de suppression, rendez-vous dans le groupe Supprimer...

Insertion créative : Insérer des séparateurs de milliers / Cases à cocher / Boutons radio / Code QR / Code-barres / Images multiples / Découvrez plus dans le groupe Insérer...

🔍 Sélections précises : Identifier des pages spécifiques / Tableaux / Formes / Paragraphes de titre / Améliorez la navigation avec plus de fonctionnalités de sélection...

Améliorations étoilées : Naviguer vers n'importe quel emplacement / Insertion automatique de texte répétitif / Basculer entre les fenêtres de document /11 outils de conversion...

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Vous voulez essayer ces fonctionnalités ? Téléchargez Kutools pour Word maintenant ! 🚀