Bonjour,
Débutant sur VBA, je cherche à créer une carte interactive des départements où ils prendront une couleur en fonction d'une valeur.
Je m'entraîne sur un cas à deux shapes.

Voilà mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub ColorierCarte()
Dim Shp As Shape, nm As String, vl As Double
For Each Shp In Sheets("Feuil1").Shapes
nm = Shp.Name
 
If Not IsError(Application.Match(nm, Sheets("Feuil1").Range("A:A"), 0)) Then
vl = Application.Index(Sheets("Feuil1").Range("B:B"), 0)
 
Application.Match(nm, Sheets("Feuil1").Range("A:A"), 0)
 
Select Case vl
Case Is <= 50: Shp.OLEFormat.Object.Interior.Color = RGB(255, 0, 0)
Case Is > 50: Shp.OLEFormat.Object.Interior.Color = RGB(0, 0, 255)
End Select
Next
 
    Sheets("Feuil1").Select
    ActiveSheet.Shapes.Range(Array("forme1")).Select
End Sub


La ligne Application.Match(nm, Sheets("Feuil1").Range("A:A"), 0) me renvoie une erreur de syntaxe et je ne trouve pas de solution.
Quelqu'un a une idée ?

Merci !