Bonjour,
Comme je te l'ai dis dans mon précédant message, il est difficile de nommer toutes les couleurs mais j'ai essayé de donner un nom aux couleurs de "ColorIndex" (56 noms pas tous faciles à définir !). Pour tester, tu colores avec les couleurs "standards" la plage de A1 à F20 et tu lances la procédure "Test", un message te dira le nom des différentes couleurs utilisées :
Sub test()
Dim Tbl() 'tableau passé par référence (il sera rempli dans la proc "Couleurs"
Dim I As Integer
Dim Texte As String
Couleurs Range("A1:F20"), Tbl()
For I = 0 To UBound(Tbl)
Texte = Texte & Tbl(I) & vbCrLf
Next I
MsgBox Texte
End Sub
Sub Couleurs(Plage As Range, TblRetour())
Dim Dico As Object
Dim Cel As Range
Dim El As Variant
Dim Tblcouleur
Dim I As Integer
Set Dico = CreateObject("Scripting.Dictionary")
Tblcouleur = Array("Noir", "Blanc", "Rouge", "Vert brillant", "Bleu foncé", "Jaune", "Rose", "Bleu turquoise clair", _
"Rouge foncé", "Vert", "Bleu foncé", "Marron clair", "Violet", "Bleu-Vert", "Gris -25%", "Gris -50%", _
"Lavande foncé", "Mauve clair", "Blanc cassé", "Bleu cyan clair", "Mauve foncé", "Chair", "Bleu ciel", _
"Bleu Gris", "Jaune pale", "Fuchia", "Saumon foncé", "Bleu électrique", "Mauve moyen", "Marron foncé", _
"Bleu Gris", "Bleu moyen", "Bleu turquoise moyen", "Bleu pâle", "Bleu très pâle", "Jaune clair", _
"Bleu moyen", "Saumon", "Lavande", "Brun rose", "Bleu clair", "Vert d 'eau", "Citron Vert", "Bouton d'or", _
"Orange clair", "Orange", "Bleu Gris", "Gris -40%", "Bleu-vert foncé", "Vert marin", "Vert foncé", _
"Vert olive", "Marron", "Prune", "Indigo", "Gris -80%")
For Each Cel In Plage
With Cel.Interior
'évite la couleur de fond standard
If .ColorIndex <> -4142 Then
If Not Dico.exists(.ColorIndex) Then
Dico.Add .ColorIndex, Tblcouleur(.ColorIndex - 1)
End If
End If
End With
Next Cel
TblRetour() = Dico.Items
End Sub