Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA Mettre différentes couleurs pour case à cocher

  • Initiateur de la discussion Initiateur de la discussion L.paris
  • 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 !

L

L.paris

Guest
Bonjour,
Je voudrais changer l'état de couleur de la case en fonction de l' état de mes autres cases.

Mais le souci, c'est qu' il prend l'état que de ma deuxième demande et ne prend pas en compte la 1ere.
================================================================
Private Sub i10_Click()
If i10.Value = True And RG.Value = True Then
i10.BackColor = &H80FF&
Else
i10.BackColor = &H80C0FF
End If
If i10.Value = True And CheckBox31.Value = True Then
i10.BackColor = &H8080FF
Else
i10.BackColor = &HC0C0FF
End If
End Sub

===============================================================
Merci pour vos commentaires

Cordialement

PL
 
Re : VBA Mettre différentes couleurs pour case à cocher

Bonjour

Mon 1er commentaire c'est qu'il est idiot de comparer une propriété booléenne à True puisque:
True = True c'est True,
False = True c'est False, donc
i10.value = True c'est i10.Value tout seul.

Ensuite: je vous conseille d'établir une table de décision des couleurs souhaitées en regard des 8 combinaisons d'états possibles de i10.Value, RG.Value et CheckBox31.Value

À +
 
Re : VBA Mettre différentes couleurs pour case à cocher

Hello,

Je lui propose plutôt d'agir sur CheckBox31 et RG comme ceci par exemple
Code:
Private Sub CheckBox31_Click()
    
    If i10.Value And CheckBox31.Value Then
        i10.BackColor = &H8080FF
        RG.Value = False
    ElseIf i10.Value And RG.Value Then
        i10.BackColor = &H80FF&
        CheckBox31.Value = False
    ElseIf i10.Value And RG.Value = False Then
        i10.BackColor = &HFFFFFF
    ElseIf i10.Value And CheckBox1.Value = False Then
        i10.BackColor = &HFFFFFF
    Else
        i10.BackColor = &HFFFFFF
    End If

End Sub

Private Sub RG_Click()
    
    If i10.Value And RG.Value Then
        i10.BackColor = &H80FF&
        CheckBox31.Value = False
    ElseIf i10.Value And CheckBox31.Value Then
        i10.BackColor = &H8080FF
        RG.Value = False
    ElseIf i10.Value And CheckBox31.Value = False Then
        i10.BackColor = &HFFFFFF
    ElseIf i10.Value And RG.Value = False Then
        i10.BackColor = &HFFFFFF
    Else
        i10.BackColor = &HFFFFFF
    End If
    
End Sub
NB : Par pitié déposez un petit fichier, c'est plus simple pour ceux qui veulent aider (par exemple, dans ce cas je ne sais pas si RG est un CheckBox ou un OptionButton, si tu travailles sur la feuille ou dans un UserForm... You see..)
 
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
642
Réponses
3
Affichages
923
Réponses
3
Affichages
644
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…