Changer la couleur d'un objet en fonction de 3 critères.

webmuster

XLDnaute Junior
Bonjour à toutes et à tous

Après un examen minutieux, mais infructueux, des différents sujets, je sollicite à nouveau votre aide.

Je recherche un code macro qui me permettrai de changer la couleur d'un objet (drapeau) en fonction de la valeur d'une cellule (C2).
La valeur de la cellule C1 sera le résultat d'une formule, et donc variable.

En C2: 3 possibilités de résultat (1, 2 ou 3).
En fonction de cette valeur, le drapeau devra être vert (1), orange (2) ou rouge (3).

A terme, mon fichier comportera 5 indicateurs (drapeaux).

Pouvez-vous m'éclairer ?

Je vous joins un petit fichier.

Bien cordialement
 

Pièces jointes

  • ChangeCouleur.xls
    53.5 KB · Affichages: 86

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Changer la couleur d'un objet en fonction de 3 critères.

Re Bonjour à tous
- Je n'arrive pas à trouver le nom des formes (drapeaux) que j'ai copiées pour les inclure dans le code.
- Même la forme initiale (Wave 1) ne semble plus fonctionner.
Dans le fichier que je viens d'ouvrir, Wave 1 se nomme Vague 1

voir explications dans le fichier

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    171.5 KB · Affichages: 83
  • 111.xlsm
    171.5 KB · Affichages: 85
  • 111.xlsm
    171.5 KB · Affichages: 84

webmuster

XLDnaute Junior
Re : Changer la couleur d'un objet en fonction de 3 critères.

Merci phlaurent55

Comment puis-je associer les couleurs de police des cellules G11 . J11 . G18 . J18 . H24 et celles des objets de manière automatique?

Cordialement
 
Dernière édition:

webmuster

XLDnaute Junior
Re : Changer la couleur d'un objet en fonction de 3 critères.

Bonjour à tous

Je m'en suis sorti avec le code suivant:

Code:
ActiveSheet.Shapes.Range(Array("Wave 1")).Select
  With Selection.ShapeRange.Fill
    .ForeColor.RGB = Array(RGB(0, 102, 0), RGB(255, 192, 0), RGB(255, 0, 0))([C2] - 1)
  End With

If Range("C2") = 1 Then
Range("G11").Font.Colorindex = 10 'vert'
ElseIf Range("C2") = 2 Then 
Range("G11").Font.Colorindex = 45 'orange'
Else
Range("G11").Font.Colorindex = 3 'rouge'
End If

Code que j'ai écrit 5 fois pour l'appliqué aux 5 objets et aux 5 cellules concernées (G11. J11. G18. J18. H24).
J'imagine qu'il existe un code plus sobre, mais dans l'attente, ça fonctionne.

Sur mon PC de travail utilisant Excel 2010 (version 2007 à mon domicile), lorsque je sélectionne un objet, le nom défini est bien "vague 1" , "vague 2" etc ... Pourtant, le code rédigé avec la référence "Wave" fonctionne parfaitement.

Merci à tous

Cordialement
 

Si...

XLDnaute Barbatruc
Re : Changer la couleur d'un objet en fonction de 3 critères.

salut

merci phlaurent55 :D pour tes explications.
Un autre exemple avec un autre évènement ("Calculate").
 

Pièces jointes

  • CouleurObjet 2.xlsm
    21 KB · Affichages: 61

webmuster

XLDnaute Junior
Re : Changer la couleur d'un objet en fonction de 3 critères.

Merci Si...

Beaucoup plus sobre effectivement.

Je confirme que, sur Excel 2010, j'ai transcrit le code avec les noms "Wave ..." (bien que le nom affiché, quand on sélectionne un objet, soit "Vague ...", et que cela fonctionne très bien.

En tous cas, je pense, grâce à vous, avoir finalisé mon fichier.

Encore merci et longue vie à cette communauté.

Cordialement
 

Regueiro

XLDnaute Impliqué
Re : Changer la couleur d'un objet en fonction de 3 critères.

Bonsoir le Forum, Webmuster
En Pj ton fichier en retour
Regarde sur la feuille "ESSAI"
Tu as 1 bouton pour effacer les Shapes
et un 2ème pour la création de tes Shapes.
Bonne Nuit
A+
 

Pièces jointes

  • WEBMUSTER CouleurObjet V02.xlsm
    34 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote