Lorsque vous travaillez avec une table de données volumineuse, il n’est pas rare que la table contienne des informations essentiellement dupliquées. Pour traiter les informations du tableau, vous souhaiterez peut-être supprimer l’une des lignes que vous considérez comme dupliquées, réduisant ainsi la quantité d’informations que vous devez traiter.

Par exemple, disons que la première cellule de chaque ligne contient un numéro de pièce. Que faire si vous souhaitez supprimer des lignes contenant des numéros de pièce en double dans la première cellule? Si vous avez besoin de cette solution, la macro suivante est pour vous:

Sub DelDupRows()

Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim RightCol As Integer     Dim J As Integer, K As Integer

Application.ScreenUpdating = False     Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column     RightCol = ThisCol + rngSrc.Columns.Count - 1

'Start wiping out duplicates     For J = ThisRow To (ThatRow - 1)

If Cells(J, ThisCol) > "" Then             For K = (J + 1) To ThatRow                 If Cells(J, ThisCol) = Cells(K, ThisCol) Then                     Cells(K, ThisCol) = ""

End If             Next K         End If     Next J

'Remove rows with empty key cells     For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = "" Then             Range(Cells(J, ThisCol), _               Cells(J, RightCol)).Delete xlShiftUp         End If     Next J     Application.ScreenUpdating = True End Sub

La macro fonctionne sur une sélection que vous faites avant de l’appeler. Ainsi, si vous devez supprimer les lignes dupliquées de la plage D7: G85, sélectionnez simplement cette plage et exécutez la macro. Il supprime les doublons de la plage D7: D85, puis supprime toutes les lignes de D7: G85 (quatre colonnes par ligne) pour lesquelles la cellule de la colonne D est vide.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2108) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.