Trouver des doublons dans une liste Excel

La situation : Vous avez une grande liste de clients, mais il y a des clients en double, avec le même nom. Votre liste est tellement grande que, même triée, il est très pénible de retrouver des doublons.

Ecrivons un petit module VBA pour pallier à cet inconvénient.

Exemple pratique

Soit le tableau Excel suivant :

 
A
B
1
  Paul
2
   
3
  Henri
4
  Paul
5
  Louis
6
  Henri|
7
  Paul
8
  Paul
9
   

Comme vous le constatez :

La Macro que je vous propose va mettre en fond jaune tous les noms qui apparaissent au moins 2 fois, mais le premier Paul ne sera pas pris en compte à cause de la cellule vide, comme ceci :

 
A
B
1
  Paul
2
   
3
  Henri
4
  Paul
5
  Louis
6
  Henri|
7
  Paul
8
  Paul
9
   

Conception de la Macro

Allez dans VBA, et créez un nouveau Module (Bouton droit de la souris sur le mot Module, à gauche de votre écran, et Insertion/Module)

Copiez le code suivant :

Type TableauType
  Contenu As String
  Coordonnee As Integer
End Type

Sub TrouveDoublon()
  Dim Tableau() As TableauType
  Dim Cellule, Haut, Bas, Compteur, C2
  Colonne = ActiveCell.Column
  Haut = Selection.End(xlUp).Row
  Bas = Selection.End(xlDown).Row
  ReDim Tableau(Bas)
  For Compteur = Haut To Bas
    Tableau(Compteur).Contenu = Cells(Compteur, Colonne)
    Tableau(Compteur).Coordonnee = Cells(Compteur, Colonne).Row
  Next
  For Compteur = Haut To Bas
    For C2 = (Compteur + 1) To Bas
      If Tableau(Compteur).Contenu = Tableau(C2).Contenu Then
        Cells(Tableau(Compteur).Coordonnee, Colonne).Interior.ColorIndex = 6
        Cells(Tableau(C2).Coordonnee, Colonne).Interior.ColorIndex = 6
      End If
    Next
  Next
End Sub

Et voilà... Il ne vous reste plus qu'à cliquer sur la cellule B3, B4, B5, B6, B7 ou B8, et appeler la macro TrouveDoublon (Outils/Macros/Macros)

Et si vous voulez les colorer avec une autre couleur, remplacez le ColorIndex = 6 par un autre chiffre... testez...

ATTENTION : Si vous copiez-collez cette macro dans votre VBA, il vous faudra certainement effacer les espaces en début de ligne à la main et les remettre, parce que les espaces que j'ai mis sur cette page Web ne sont pas des espaces très "catholiques"