Pb de CHECKBOX ET DE REFRESH

takeiteasy

XLDnaute Nouveau
Bonjour,

Dans l'exemple ci jont vous verrez qu'il y a un frame avec 4 checkbox et deux boutons:

le click de chaque checkbox doit lancer la macros ref.
les deux boutons servent a selecter ou deselecter toutes les checkbox en une fois et devraient lancer une fois la macro ref

or......sniff......l)activation d'un des boutons lancer la macro ref cinq fois de suite:

comment eviter cela ??

merci d'avance pour toute réponse
 

Pièces jointes

  • PBAVECCHECKBOX.xlsm
    19.1 KB · Affichages: 78
G

Guest

Guest
Re : Pb de CHECKBOX ET DE REFRESH

Bonjour,

En déclarant une variable booléenne au niveau du module qui signalera aux évènement click qu'on sélectionne tout ou déselectionne tout pour qu'ils ne lancent pas la procédure Ref.

code du Userform:

Code:
[SIZE=3][COLOR=red]Private bTout As Boolean[/COLOR][/SIZE]
Private Sub CheckBox1_Click()
    [COLOR=blue]If Not bTout Then ref[/COLOR]
End Sub
Private Sub CheckBox2_Click()
    [COLOR=blue]If Not bTout Then ref[/COLOR]
End Sub
Private Sub CheckBox3_Click()
    [COLOR=blue]If Not bTout Then ref[/COLOR]
End Sub
Private Sub CheckBox4_Click()
    [COLOR=blue]If Not bTout Then ref[/COLOR]
End Sub
 
Private Sub CommandButton1_Click()
    Dim Ctrl As Control
    'Signaler aux évènements click qu'on sélectionne tout
   [COLOR=red][SIZE=3]bTout = True[/SIZE][/COLOR]
    For Each Ctrl In Frame1.Controls
        If TypeOf Ctrl Is MSForms.CheckBox Then
            Ctrl.Value = True
        End If
    Next Ctrl
    ref
   [SIZE=3][COLOR=red]bTout = False[/COLOR][/SIZE]
End Sub
 
Private Sub ref()
    MsgBox "ici se trouve la proc,dure de refresh"
End Sub
 
Private Sub CommandButton2_Click()
    Dim Ctrl As Control
    'signaler aux évènement click qu'on déselectionne tout
   [SIZE=3][COLOR=red]bTout = True[/COLOR][/SIZE]
 
    For Each Ctrl In Frame1.Controls
        If TypeOf Ctrl Is MSForms.CheckBox Then
            Ctrl.Value = False
        End If
    Next Ctrl
 
    ref
 
    [SIZE=3][COLOR=red]bTout = False[/COLOR][/SIZE]
End Sub
 
Private Sub UserForm_Initialize()
   [SIZE=3][COLOR=red]bTout = False[/COLOR][/SIZE]
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 331
Membres
103 188
dernier inscrit
evebar