Modifier la couleur d'un objet en fonction du résultat d'un calcul

  • Initiateur de la discussion Initiateur de la discussion stock14
  • 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 !

stock14

XLDnaute Nouveau
Bonjour à tous,

J'essaye, en vain d'adapter les différentes solutions que j'ai trouvé sur le forum.
N'y arrivant pas je vous soumet mon fichier qui est pourtant simple.

J'ai dans ma feuille 1, le résultat d'un caclul d'évolution entre deux valeurs.
Je restitue ce résultat dans ma feuille 2, avec la valeur de l'année en cours dans une zone de texte, la valeur de l'évolution dans une seconde zone de texte, et je voudrais que le 3ème objet (l'ellipse) prenne une couleur en fonction du résultat du calcul :
- si progression supérieure à 2%, alors couleur verte
- si progression inférieure à -2%, alors couleur rouge
- si progression comprise entre -2 et 2%, almors couleur orange.

Est-ce que vous pouvez m'aider en me donnant le code à mettre dans la feuille ?

Egalement,
Le code est-il adaptable pour la couleur du texte ?

Un grand merci d'avance.
 

Pièces jointes

Pièces jointes

Dernière édition:
Re : Modifier la couleur d'un objet en fonction du résultat d'un calcul

Bonjour et merci Boisgontier.
Ta formule est bien, et en plus, j'arrive à l'adapter 😀.

Par contre quand je veux l'utiliser à l'identique dans mon fichier excel de base, il me renvoi #NOM?.
Comment faire pour que la formule fonctionne également ? N'est-ce pas un pb de version de fichier excel ?
 
Re : Modifier la couleur d'un objet en fonction du résultat d'un calcul

Il faut mettre ce code dans un module

-Alt+F11
-Insertion/Module

Code:
Function ColorieImage(s, Couleur)
  Application.Volatile
  Set f = Sheets(Application.Caller.Parent.Name)
  f.Shapes(s).Fill.ForeColor.RGB = Couleur
  ColorieImage = ""
End Function

Function Couleur(c As Range)
  Application.Volatile
  Couleur = c.Interior.Color
End Function

Les images et shapes

JB
 
Re : Modifier la couleur d'un objet en fonction du résultat d'un calcul

Merci
Effectivement celà fonctionne qunad l'bjet est sur la même page.
Si je le coupe et le colle sur une autre feuille, il me renvoi #VALEUR dans la cellule de la formule ?
 
Re : Modifier la couleur d'un objet en fonction du résultat d'un calcul

Si la formule n'est pas écrite dans la page de l'image

=colorieimage("feuil2";"indic";SI(Feuil1!C2<-2%;couleur(rouge);SI(Feuil1!C2>2%;couleur(vert);couleur(orange))))

Code:
Function ColorieImage(fimage, s, Couleur)
  Application.Volatile
  Set f = Sheets(fimage)
  f.Shapes(s).Fill.ForeColor.RGB = Couleur
  ColorieImage = ""
End Function

http://boisgontierjacques.free.fr/fichiers/Images/ColorieImage.xls

JB
 

Pièces jointes

Dernière édition:
- 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

D
Réponses
2
Affichages
951
F
Réponses
1
Affichages
2 K
Jean-Marie
J
Retour