A nouveau,
ce dernier comporte des spécificités qui ne fonctionnent pas avec mes données monétaires.
J'ai inscris des valeurs monétaires, fait le RAZ de la carte (bouton Effacer) puis clic sur le bouton Colorier.
Et aucun souci. Change en colonne H les valeurs de bornage et/ou agrandis ou réduit ce tableau colonne H selon ton besoin.
La colonne E contient la formule (Equiv) permettant de ressortir l'index (1 à 7) du bornage. Voir sur ce site (Fonctions Excel) son utilisation.
La macro pour colorier est celle ci-dessous. (code dans la feuil5 -> Carte)
Private Sub CommandButton1_Click()
'Sept couleurs présentes (cellules I3 à I9) qui contiennent le n° de couleur attribuable selon bornage de la colonne H
Dim Kolor(7)
For i = 1 To 7
Kolor(i) = Sheets("Départements").Cells(i + 2, 9)
Next i
'Attribution des couleurs à la forme(Shape) du département cible (par ligne) et selon la valeur de la colonne E (5ième colonne)
'Départements 1 à 19
For n = 1 To 19 'ActiveSheet.Shapes.Count - 2
ActiveSheet.Shapes("Dpt" & n).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Kolor(Sheets("Départements").Cells(n + 2, 5))
Next n
'Départements Corse
For c = 1 To 2
ActiveSheet.Shapes("Dpt20" & Chr(64 + c)).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Kolor(Sheets("Départements").Cells(21 + c, 5))
Next c
'Départements 21 à 95
For m = 21 To 95
ActiveSheet.Shapes("Dpt" & m).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Kolor(Sheets("Départements").Cells(m + 3, 5))
Next m
ComboBox1.Text = ""
[A1].Select
End Sub
Tandis que la macro pour effacer est
Sub oter_couleur()
'ActiveSheet.Shapes.SelectAll -> Sélection des formes départements de la carte
For n = 1 To ActiveSheet.Shapes.Count - 3
ActiveSheet.Shapes(n).Select
'Remise en blanc par chiffre 9. On pourrait mettre en bleu ciel par chiffre 7, vieux rose par 6, jaune par 5 etc...
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 9
Next n
End Sub