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
 
Bonjour
Le tout est de savoir sur quelle action vous voulez décochez toutes les checkbox
Après mettez le code comme ceci dans un module ou dans l'usf
VB:
Sub desactiver
For Each ctrl In Me.Controls
  If TypeName(ctrl) = "CheckBox" Then
      ctrl.Enabled = False
  End If
Next ctrl
end sub

Puis vous appelez ce code lors de l'action d'un code dans votre userform en mettant ceci
CSS:
Call desactiver

NB : Si vous le placez dans un module vous remplacez le ME par le nom de votre userform
Crdlt
 
Dernière édition:
Bonjour
Le tout est de savoir sur quelle action vous voulez décochez toutes les checkbox
Après mettez le code comme ceci dans un module ou dans l'usf
VB:
Sub desactiver
For Each ctrl In Me.Controls
  If TypeName(ctrl) = "CheckBox" Then
      ctrl.Enabled = False
  End If
Next ctrl
end sub

Si vous le placez dans un module vous remplacez le ME par le nom de votre userform

Puis vous appelez ce code lors de l'action d'un code dans votre userform en mettant ceci
CSS:
Call desactiver

Crdlt
Bonjour Dan,
Je souhaite que les CheckBox soit désactivée si une des 10 est cochée.
Merci par avance pour votre aide
 
Bonjour Dan,
Je souhaite que les CheckBox soit désactivée si une des 10 est cochée.
Merci par avance pour votre aide
Vous utilisez le code que j'ai donné. Si la checkbox est décochée elle restera décochée
On n'a pas besoin de savoir si une est cochée ou pas
Le tout est que le code soit appelé depuis un autre code. genre par exemple Valider ou un reset de l'userform
Je n'ai pas la vue de votre fichier ....
 
Vous utilisez le code que j'ai donné. Si la checkbox est décochée elle restera décochée
On n'a pas besoin de savoir si une est cochée ou pas
Le tout est que le code soit appelé depuis un autre code. genre par exemple Valider ou un reset de l'userform
Je n'ai pas la vue de votre fichier ....
Non ça ne fonctionne pas. Lorsque je clique sur une CheckBox les autres sont bien désactivées, mais lorsque je clique sur le bouton "Annuler" pour modifier mon choix, je ne peux plus utiliser la Check cliquée auparavant.
 
Non ça ne fonctionne pas. Lorsque je clique sur une CheckBox les autres sont bien désactivées, mais lorsque je clique sur le bouton "Annuler" pour modifier mon choix, je ne peux plus utiliser la Check cliquée auparavant.
Je ne vous ai pas dit d'appeler le code depuis un code checkbox_click --> (Private Sub Chk_1_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
 
Dernière édition:
- 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
240
Réponses
3
Affichages
599
Réponses
0
Affichages
538
Retour