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

  • Initiateur de la discussion Initiateur de la discussion webmuster
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Bonsoir à tous

Je viens de me rendre compte, avec effroi, que le fichier exemple joins à ma demande n'était pas le bon.
Je suis honteux du travail inutile que je vous ai occasionné.
Je réitère ma demande avec, cette fois, le fichier concerné.

Avec encore toutes mes excuses.

Cordialement
 

Pièces jointes

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

salut

et ainSi... ?
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If Intersect(R, Range("A1:A2", "C2")) Is Nothing Then Exit Sub
  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
  [A1].Select
End Sub
 
Re : Changer la couleur d'un objet en fonction de 3 critères.

re

Dans Array( a , b , c )(n), n désigne l’indice de l’élément (0 pour a, 1 pour b et 2 pour c).
Les indices successifs des éléments d’un Array sont 0, 1, 2 … (sauf indication contraire).
En C2 tu auras 1, 2 ou 3 donc l’indice de l’élément doit être cette valeur diminuée de 1 ou [C2]-1.
 
Re : Changer la couleur d'un objet en fonction de 3 critères.

Si...
Je reviens toi pour un problème que je découvre à l'instant.

Si je change la valeur en C2 manuellement, tout fonctionne parfaitement. Mais si cette valeur est le résultat d'une formule faisant référence à une autre cellule où s'opère le changement (mise à jour de liaisons), alors les couleurs ne se mettent pas à jour.

Peux-tu encore m'aider?

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

re

essaie le changement d'évènement :
Code:
Private Sub Worksheet_Calculate()
  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
  [A1].Select
End Sub
 
Re : Changer la couleur d'un objet en fonction de 3 critères.

Bonjour

Je reviens vers vous pour une ultime question.
Comment modifier ma macro pour que la couleur de police de la cellule C1 soit automatiquement la même que celle du drapeau?

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

Bonjour à toutes et à tous

J'ai tenté d'étendre la macro de Si... à 5 indicateurs, et c'est là que j'ai perdu pied:
- 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.
-Je tente désespérément d'élaborer, soit un code soit une MFC (que je pensais avoir trouvée), pour que la couleur des polices des cellules G11 , J11 , G18 , G18 et H24 s'adapte à la couleur de leur drapeau respectif.

Pouvez-vous m'aider?

Je joins mon fichier (que j'ai enregistré en version 2010).

Cordialement
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour