Sub GroupColors() ' permet de repérer facilement les doublons d'une liste
Dim Couleurs, monDico, c, Nocoul, Colonne, Zone, Fin, LastC, Clé, Zone2
Couleurs = Array(6, 10, 14, 15, 17, 20, 22, 23, 24, 26, 28, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
Set monDico = CreateObject("Scripting.Dictionary"): monDico.CompareMode = 1 ' tout en minuscule !
Colonne = InputBox("Quelle colonne à regrouper par couleur " & Chr(10) & "en lettres, pas de chiffre !!!")
If Colonne = "" Then Exit Sub
If Not ColonneValideAdeps(Colonne) Then Exit Sub
Fin = Range(Colonne & "65000").End(xlUp).Row
Set Zone = Range(Colonne & "2", Colonne & Fin)
On Error Resume Next: On Error GoTo 0
For Each c In Zone
If Left(c, 1) = "#" Then MsgBox ("N/A !!!"): Exit Sub
If c <> "" Then monDico.Item(c.Value) = monDico.Item(c.Value) + 1
Next c
LastC = Range("IV4").End(xlToLeft).Column
For Each c In Zone ' Range(Colonne & "2", Colonne & "65000").End(xlUp)
If c <> "" Then
Nocoul = (Application.Match(c.Value, monDico.Keys, 0)) Mod UBound(Couleurs)
Range(Cells(c.Row, 1), Cells(c.Row, LastC)).Interior.ColorIndex = Couleurs(Nocoul)
End If
Next c
[A1].Select
End Sub