Colorier une forme selon la valeur d'une cellule - Excel 2007

Fermé
shsh - Modifié par shsh le 24/11/2015 à 15:48
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 24 nov. 2015 à 16:29
Bonjour à tous,

Comme le titre l'indique, je souhaiterais colorier une forme selon la valeur d'une cellule.
Concrètement, j'ai plusieurs formes représentant les différents pays d'Afrique et je souhaiterais associer à chacune de ces formes une cellule contenant une valeur de prix d'électricité et colorier cette forme en fonction du prix, du plus clair (valeurs peu chères) au plus foncé (valeurs chères).

Merci d'avance
A voir également:

2 réponses

Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
24 nov. 2015 à 15:51
Bonjour.

La solution nécessite d'écrire une macro en VBA ; tu connais ?
0
oui ca me dit quelque chose mais je ne sais pas quoi écrire dans la macro xd
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 nov. 2015 à 16:29
Bonjour,

Tout d'abord il faut connaitre le nom des formes en cliquant dessus et en regardant dans la barre Formule à gauche.
Voici un exemple en vba, la valeur est contenu en A1 et la Forme (Shape) se nomme Ellipse 1, ceux ci sont a adapter.
Faire au clavier Alt F11 pour accéder à l'éditeur. Dans l'éditeur double cliquez sur la feuille où se trouve les formes (shapes) en haut à gauche et mettre ce code:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Select Case Target.Value
Case Is = 1 'a adapter la valeur
ActiveSheet.Shapes("Ellipse 1").DrawingObject.Interior.Color = 5296274 'vert'a adapter nom forme et couleur
Case Is = 2
ActiveSheet.Shapes("Ellipse 1").DrawingObject.Interior.Color = 49407 'orange
Case Is = 3
ActiveSheet.Shapes("Ellipse 1").DrawingObject.Interior.Color = 255 'rouge
End Select
End If
End Sub




0