Pb de CHECKBOX ET DE REFRESH

  • Initiateur de la discussion Initiateur de la discussion takeiteasy
  • 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 !

T

takeiteasy

Guest
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

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+
 
- 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

C
Réponses
1
Affichages
688
H
Réponses
1
Affichages
1 K
Compte Supprimé 979
C
K
Réponses
19
Affichages
5 K
K
J
Réponses
2
Affichages
1 K
Jean-Phi
J
B
Réponses
1
Affichages
881
Z
Retour