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: