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

XL 2016 Comment gérer des CheckBoxes à l'alternat ?

Dudu2

XLDnaute Barbatruc
Bonjour,

J'ai du bricoler un flag et une séquence complexe pour pouvoir, dans un UserForm, gérer 2 ou plus de checkboxes dont l'une exclut les autres en 1 seul clic.
N'y a-t-il pas plus simple. Je n'y arrive pas ! Même en désactivant les évènements, la valorisation d'une CheckBox provoque son évènement Click().
VB:
Private Sub CheckBox1_Click()
    'MsgBox "Enter CheckBox1_Click - NotRealClick = " & NotRealClick
    Call OffCheckBox(Me.CheckBox2, Me.CheckBox3)
End Sub

Private Sub CheckBox2_Click()
    'MsgBox "Enter CheckBox2_Click - NotRealClick = " & NotRealClick
    Call OffCheckBox(Me.CheckBox1, Me.CheckBox3)
End Sub

Private Sub CheckBox3_Click()
    'MsgBox "Enter CheckBox3_Click - NotRealClick = " & NotRealClick
    Call OffCheckBox(Me.CheckBox1, Me.CheckBox2)
End Sub

'-----------------------------------------
'Décoche les CheckBoxes passée en argument
'-----------------------------------------
Private Sub OffCheckBox(ParamArray TabChB() As Variant)
    Static NotRealClick As Boolean
    Dim ChB As Variant
   
    If NotRealClick = False Then
        NotRealClick = True
        For Each ChB In TabChB
            If ChB.Value Then ChB.Value = False
        Next ChB
        NotRealClick = False
    End If
End Sub
 

Pièces jointes

  • CheckBoxes Exclusives.xlsm
    19.4 KB · Affichages: 16
Dernière édition:

Dudu2

XLDnaute Barbatruc
Merci @fanfan38, c'est effectivement plus simple avec le OptionButtons.
Je suppose que les CheckBoxes sont faites pour être indépendantes et s'appliquer à des choix multiples.
Je conserve quand même le code d'effacement des CheckBoxes au cas où...
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Je reviens sur le sujet, juste pour information, car j'ai eu à gérer 2 groupes indépendants d'options.
J'ai essayé avec les boutons d'options et, malgré des tutos (Ctrl + clic gauche etc...) pour créer 2 groupes indépendants dans un UserForm j'ai galéré sans succès.
Je suis donc revenu au système CheckBoxes et au code du Post #1 pour pouvoir m'en sortir.
 

Dudu2

XLDnaute Barbatruc
OK merci @eriiiic, je ne voyais pas à quel objet cette propriété appartenait.
En effet c'est plus sain que les Frames qui génèrent de problèmes par ailleurs même si c'est pas spécialement sur les boutons d'options. Ce sujet.
J'aime pas les Frames
Meilleurs Voeux
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…