Microsoft 365 Simplifier un code pour activer ou désactiver des CheckBox

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

NONO14

XLDnaute Impliqué
Bonjour à toutes et à tous,

Ayant remis à plat un projet, et pour suivre le bon conseil de TootFatBoys, je créé cette nouvelle discussion.
J'ai mis en place ce code qui permet de désactiver toutes les CheckBox de mon formulaire si il y en a une de cochée, hors, j'ai dix CheckBox à gérer.
Dois-je répéter ce code pour les dix ou existe t-il une manière de le simplifier pour qu'il s'applique si on clique sur une des dix CheckBox ?
Peut-être faut-il passer par un module... Je ne sais pas.
Merci par avance pour votre aide

VB:
Private Sub Chk_1_Click()
Dim ctrl As Control

'Si la CheckBox 1 est cochée
    If Chk_1.Value = True Then

'alors toutes les CheckBox sont désactivées
        For Each ctrl In Me.Controls
            If TypeName(ctrl) = "CheckBox" Then
                ctrl.Enabled = False
            End If
        Next ctrl

'Sinon elles restent activées
    Else
        For Each ctrl In Me.Controls
            If TypeName(ctrl) = "CheckBox" Then
                ctrl.Enabled = True
            End If
        Next ctrl
    End If
End Sub
 
Je ne vous ai pas dit d'appeler le code depuis un code checkbox_click
Là cela ne saurait fonctionner évidemment
SI vous voulez utiliser un genre d'option ON - OFF, les OptionButton sont à utiliser comme vous le dit Toofatboy
Ah d'accord, je n'avais pas compris. Dans mon cas, c'était au clic d'une Check.
Mais bon je vais passer par des OptionButton.
Merci beaucoup pour votre participation.
 
hello all

je te remets ici la meme réponse que sur l'autre post qui confirme ce qui t'a été dit ici

si une seule doit etre active, j'aurais plutot utilisé des optionsbutton (dans le meme groupe: voir propriété)
sinon, je ferais UNE macro appelée par tous les chk_x_click, et en paramètre, le nom du control appelant
(avec caller)
 
hello all

je te remets ici la meme réponse que sur l'autre post qui confirme ce qui t'a été dit ici

si une seule doit etre active, j'aurais plutot utilisé des optionsbutton (dans le meme groupe: voir propriété)
sinon, je ferais UNE macro appelée par tous les chk_x_click, et en paramètre, le nom du control appelant
(avec caller)
Les OptionButton fonctionnent bien, comme tu me l'avait suggéré ainsi que TootFatBoys.
Cependant, comme les OptionButton sont dans des Frames différentes et bien il y en a toujours un qui reste activé lorsque l'on change de Frame.
 
Bonjour,
J'arrive sans doute un peu tard dans la discussion mais j'avais fait une petite ressource pour ça:
Je viens de la passer en Version 3 pour identifier les CheckBoxes d'un group grâce à la propriété CheckBox.GroupName.
 
Dernière édition:
ça fait partie des demandes, je ne pouvaient pas tout refuser.
Oui, je comprends. Mais là c'est complètement stupide cette histoire de case à cocher pour lancer une action.

Donc là, tu coches une case, tu désactives les autres cases à cocher (pourquoi ? Ben, on se le demande...), et ensuite tu lances l'action.
Ils n'ont rien trouvé de plus compliqué et stupide ? Ils s'en rendent compte au moins ???


Je compatis sincèrement et te souhaite bon courage pour le développement du projet.
🖖
 
Bonjour,

Désolé, il faut reprendre la V4 de la ressource car il y avait bug lorsque la CheckBox est dans un ou plusieurs Frames et/ou un ou plusieurs Multipage. Je ne savais pas que le UserForm.ActiveControl est alors le Frame ou le Multipage et non le Control CheckBox.

Repars sur les CheckBoxes en utilisant la V4 de la ressource, car les OptionButtons sont en groupes dans un Frame et indépendants des autres OptionButtons dans d'autres Frames, de plus, une fois qu'un OptionButton a été cliqué, il n'est plus possible d'en avoir aucun de marqué.
OptionButtons.gif

Alors qu'avec le système des CheckBoxes il n'y a pas ces 2 inconvénients.
CheckBox.gif
 
- 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

Discussions similaires

Réponses
3
Affichages
241
Réponses
3
Affichages
600
Réponses
0
Affichages
539
Retour