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().
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
Dernière édition: