Colorier une forme en fonction de la valeur d'une cellule

Bonjour, j'aimerais trouver une macro qui me permette de colorier une forme en fonction de la valeur d'une cellule sans être obligé de passer par l'intermédiaire de la création d'un bouton

  • Si la cellule B2 n'est pas vide alors la forme est de couleur rouge
  • Si la cellule B3 n'est pas vide alors la forme est de couleur orange
  • Si la cellule B4 n'est pas vide alors la forme est de couleur verte.

Merci à vous pour votre aide.

Bonjour,

une macro avec declenchement sur un changement de la feuille

Cdlt

Merci c'est exactement ce qu'il me fallait

Et si par hasard, la forme est sur la FEUIL1 et que mon tableau se trouve sur la FEUIL 2, qu'elle est la modification à faire sous visual basic pour que la forme de la FEUIL1 prenne la bonne couleur?

Merci

Rebonjour,

Sheets("la_Feuil_qui_contient_la_Forme").Select
Shapes.Range(Array("ESSAI")).Select
     With Selection.ShapeRange.Fill
        .Visible = msoTrue        
 If Not (Range("B2") = "") Then .ForeColor.RGB = RGB(255, 0, 0)
 If Not (Range("B3") = "") Then .ForeColor.RGB = RGB(255, 192, 0)
 If Not (Range("B4") = "") Then .ForeColor.RGB = RGB(0, 255, 0)
        .Transparency = 0
        .Solid
    End With

Ca devrait suffire
@ +

Merci à toi pour ton aide,

Mais j'ai essayer de différentes manières d'intégrer ton code, et malheureusement cela ne fonctionne pas, aurais-tu la possibilité d'y jeter un oeil car il est fort probable que je ne l'ai pas intégré correctement.

Merci, est-il possible que lorsqu'il y a le changement de valeur et que la macro s'exécute en arrière plan pour colorier la forme, que l'on reste sur cet onglet et pas que l'on aille sur l'onglet de la forme.

Salut

Sheets("TG").Select

avant le End sub()

C'est parfait

Est-ce qu'il y aurait un moyen de copier les valeurs des cellules B2:B4 de l'onglet TG vers les cellules G2:G4 du même onglet sans être obligé de passer par un module et un bouton de commande (ce que j'ai réussi à faire, mais que je ne veux pas)

Par exemple il n'y a pas de valeurs en B2 et B3, alors ne rien mettre en G2 et G3 (même pas le chiffre 0) et la valeur X en B4 alors mettre X en G4

Par exemple il n'y a pas de valeurs en B2 et B4, alors ne rien mettre en G2 et G4 (même pas le chiffre 0) et la valeur Y en B3 alors mettre X en G3

Salut,

tout simplement en mettant =B2 en G2 et en tirant la formule , format standart.

Malheureusement en mettant =B2 la forme dans l'onglet Global ne change pas de couleur. Car l'onglet TG est la synthèse de plusieurs onglets qui eux ont bien les formes qui changent de couleur

Pour l'onglet XXX, la forme est le rond et elle change bien de couleur sur GLOBAL lorsque B2:B4 n'est pas vide

Pour l'onglet YYY, la forme est le triangle et elle change bien de couleur sur GLOBAL lorsque B2:B4 n'est pas vide

Pour l'onglet TG, la forme est le rectangle et elle change pas de couleur sur GLOBAL lorsque B2:B4 n'est pas vide, sachant que dans l'onglet TG, la cellule B1 est la somme de B1"XXX" et B1"YYY" cette valeur n'est pas tapée manuellement

Par exemple sur l'onglet TG la cellule B1=XXX!B1+YYY!B1 soit 10+11=21 et bien la cellule B3 n'est pas vide alors la forme rectangle sur GLOBAL devrait être orange et là elle est verte. Par contre si je tape manuellement la valeur 21 en B1 alors la forme passe au vert ou voir même si je créer une macro avec un module permettant de copier les valeurs B2:B4 et de les mettre en G2:G4 (mais je ne veux pas passer par ce bouton de commande)

Rechercher des sujets similaires à "colorier forme fonction valeur"