Comment colorier un bouton ou une forme si condition
S
Bonjour,
J'aimerais si possible pouvoir colorier un bouton ou une forme en fonction de condition, ceci afin de pouvoir supprimer les feux tricolores que j'ai intégré dans ma page de garde "TABB".
- le bouton "INDICATEUR X" doit changer de couleur de fond comme le feux tricolore qui est à côté (car à terme il va disparaitre)
- Fond Rouge et Police Blanche si il y a une valeur en cellule O2 de l'onglet Tableaux_X
- Fond Orange et Police Blanche si il y a une valeur en cellule O3 de l'onglet Tableaux_X
- Fond Vert et Police Blanche si il y a une valeur en cellule O4 de l'onglet Tableaux_X
- le bouton "INDICATEUR Y" doit changer de couleur de fond comme le feux tricolore qui est à côté (car à terme il va disparaitre)
- Fond Rouge et Police Blanche si il y a une valeur en cellule O2 de l'onglet Tableaux_Y
- Fond Orange et Police Blanche si il y a une valeur en cellule O3 de l'onglet Tableaux_Y
- Fond Vert et Police Blanche si il y a une valeur en cellule O4 de l'onglet Tableaux_Y
Merci d'avance pour votre aide.
Bonjour Snowkite, bonjour le forum,
Je n'ai pas trouvé le moyen de faire ça automatiquement car je ne vois pas comment se fait le changement vu qu'il y a des formules partout...
Sub ThauTheme()
Dim OT As Worksheet 'définit l'onglet OT (Onglet TABB)
Dim OV As Worksheet 'définit l'onglet OV (Onglet des Valeurs)
Set OT = Worksheets("TABB") 'définit l'onglet OT
Set OV = Worksheets("Tableaux_X") 'définit l'onglet OV
If OV.Range("O2").Value <> "" Then 'condition : si O2 de l'onglet OV n'est pas vide
With OT.Shapes.Range(Array("Rectangle à coins arrondis 12")).Fill 'prend en compe le remplissage de la forme "Indicateur X"
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0) 'couleur rouge
.Transparency = 0
.Solid
End With 'fin de la prise en compte du remplissage de la forme "Indicateur X"
End If 'fin de la condition
If OV.Range("O3").Value <> "" Then 'condition : si O3 de l'onglet OV n'est pas vide
With OT.Shapes.Range(Array("Rectangle à coins arrondis 12")).Fill 'prend en compe le remplissage de la forme "Indicateur X"
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 192, 0) 'couleur orange
.Transparency = 0
.Solid
End With 'fin de la prise en compte du remplissage de la forme "Indicateur X"
End If 'fin de la condition
If OV.Range("O4").Value <> "" Then 'condition : si O4 de l'onglet OV n'est pas vide
With OT.Shapes.Range(Array("Rectangle à coins arrondis 12")).Fill 'prend en compe le remplissage de la forme "Indicateur X"
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 250, 0) 'couleur verte
.Transparency = 0
.Solid
End With 'fin de la prise en compte du remplissage de la forme "Indicateur X"
End If 'fin de la condition
End SubS
Oh top, encore merci