Sub coloriage()
For Each c In [départ]
If c <> "" Then
ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = vbWhite ' Le dpt passe en blanc par défaut
ca = c.Offset(, 1)
If Application.CountIf([légende], ca) > 0 Then ' Si "ca" existe dans [légende]
p = Application.Match(ca, [légende], 0) ' Index de "ca", attention dernier param 0 et non 1
couleur = Range("légende").Cells(p, 1).Interior.Color ' Extraire couleur
ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = couleur ' appliquer couleur au shape
End If
End If
Next c
End Sub