OVH Cloud OVH Cloud

Changement de couleur

8 réponses
Avatar
christophe
bonsoir,
je voudrais creer un rond qui changerais de couleur rouge et vert celon la
valeur d'une cellule VRAI FAUX
merci de votre aide

8 réponses

Avatar
RaMA
Bonsoir
Sub RondFleur()
'Tu baptises au préalable ton rond toto
ActiveSheet.Shapes("ToTo").Select
If [A1] = True Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11
End If
End Sub

Salutations
RaMa
--
.
"christophe" a écrit dans le message de news:
41af94ff$0$11744$
bonsoir,
je voudrais creer un rond qui changerais de couleur rouge et vert celon la
valeur d'une cellule VRAI FAUX
merci de votre aide



Avatar
christophe
Merci RAMA
j'ais oublier de preciser, que cela se fasse en automatique dans ma feuille
"saisie"

si AD20 = vrai en vert
si AD20 = faux en rouge
Avatar
AV
Dans le module de la feuille contenant ton rond (nommé "monRond") :

Private Sub Worksheet_Calculate()
With ActiveSheet.DrawingObjects("monRond").Interior
If [AD20] = True Then .ColorIndex = 10
If [AD20] = False Then .ColorIndex = 3
End With
End Sub

PS : selon comment la valeur VRAI/FAUX est obtenue dans AD20, il conviendra de
changer(peut-être) le type d'évènement
AV
Avatar
RaMA
Bonjour
' à placer dans un module de la feuille concernée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim postx
Set postx = ActiveCell
RondFleur
postx.Select
Set postx = Nothing
End Sub

Sub RondFleur()
'Tu baptises au préalable ton rond toto
ActiveSheet.Shapes("ToTo").Select
If [ad20] = True Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11
Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
End If
End Sub

Salutations
RaMa

--
.
"christophe" a écrit dans le message de news:
41afa576$0$11740$
Merci RAMA
j'ais oublier de preciser, que cela se fasse en automatique dans ma
feuille "saisie"

si AD20 = vrai en vert
si AD20 = faux en rouge




Avatar
jps
ah! quand même te v'la, alain...
tu n'es pas exempt de travailler le jeudi...d'abord, ici, les RTT, on les
paie donc pas de repos pour les chaouches, fussent-ils brivadois
jps

"AV" a écrit dans le message de
news:O%
Dans le module de la feuille contenant ton rond (nommé "monRond") :

Private Sub Worksheet_Calculate()
With ActiveSheet.DrawingObjects("monRond").Interior
If [AD20] = True Then .ColorIndex = 10
If [AD20] = False Then .ColorIndex = 3
End With
End Sub

PS : selon comment la valeur VRAI/FAUX est obtenue dans AD20, il
conviendra de

changer(peut-être) le type d'évènement
AV




Avatar
AV
ah! quand même te v'la, alain...


Ben de temps en temps faut que j'aille porter la bonne parole au-delà du
"Plateau" !
Il y a des délais de route !

AV

Avatar
christophe
Bonjour AV
Ta fonction marche bien jusqu'a ce que je lance une macro qui remet AD20 à
FAUX,
la ca bloque sur "With ActiveSheet.DrawingObjects("monRond").Interior"
et je ne sais pas changer l'evenement

merci de ton aide


"AV" a écrit dans le message de news:
O%
Dans le module de la feuille contenant ton rond (nommé "monRond") :

Private Sub Worksheet_Calculate()
With ActiveSheet.DrawingObjects("monRond").Interior
If [AD20] = True Then .ColorIndex = 10
If [AD20] = False Then .ColorIndex = 3
End With
End Sub

PS : selon comment la valeur VRAI/FAUX est obtenue dans AD20, il
conviendra de
changer(peut-être) le type d'évènement
AV




Avatar
AV
Dans le cas où tu utilises une macro pour modifier AD20 utilise l'évènement
"Worksheet_Change"

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$AD$20" Then Exit Sub
With Me.DrawingObjects("monRond").Interior
If zz = True Then .ColorIndex = 10
If zz = False Then .ColorIndex = 3
End With
End Sub

AV