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

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

  • exemple.xls
    15.5 KB · Affichages: 69
  • exemple.xls
    15.5 KB · Affichages: 66

Papou-net

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

Bonsoir stock14,

Regarde si la copie en PJ te convient (maccro événementielle sur Feuil1).

Cordialement.
 

Pièces jointes

  • Copie de exemple-1 stock14.xls
    42.5 KB · Affichages: 89

BOISGONTIER

XLDnaute Barbatruc
Repose en paix

Pièces jointes

  • Exemple.xls
    47.5 KB · Affichages: 84
  • Exemple.xls
    47.5 KB · Affichages: 71
Dernière édition:

stock14

XLDnaute Nouveau
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 :D.

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 ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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
 

stock14

XLDnaute Nouveau
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 ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Exemple-5.xls
    48 KB · Affichages: 88
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 247
Messages
2 086 590
Membres
103 247
dernier inscrit
bottxok