Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

UserForm checkBox sur VBA

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 !

duclra11

XLDnaute Nouveau
Bonjour à tous,

Sur mon userform où je n'ai que des checkbox, il y en a une qui permet de (dé)cocher toutes les autres. Ca marche très bien.

J'aimerai pouvoir tester et corriger l'erreur suivante dans une autre macro. Si checkALL est coché mais que l'utilisateur a décoché une des cases alors on décoche checkALL.

j'ai tenté un If... And For each mais évidement ça ne marche pas.


Merci pour votre aide.

Macro

''' permet de cocher toutes les cases d'un seul coup
Private Sub ALL_Click()

Dim ctl As Control

If ALL.Value = True Then
For Each ctl In Frame1.Controls
If TypeName(ctl) = "CheckBox" Then
ctl.Value = True
End If
Next
Else
For Each ctl In Frame1.Controls
If TypeName(ctl) = "CheckBox" Then
ctl.Value = False
End If
Next
End If
End Sub
 
Re : UserForm checkBox sur VBA

bonjour duclra11
il faut être plus explicite pb.. interaction des cheks

par exemple en decochant checkbox2 on decoche ALL facile a faire jusqu'a la.... mais faut t'il que ALL dans ce cas precis ne lance pas son code de decochage de toutes les checks.... voila la qst...

entre autre tes checks sont renommées ???
 
Re : UserForm checkBox sur VBA

Bonsoir ,

Avec un petit fichier , tu aurais pu avoir le code adapté :

Le principe est qu'il te faut un drapeau pour savoir que c'est l'origine de la décoche vient d'une autre coche que la coche générale,

ensuite , il suffit de ce servir de ce drapeau pour interdire l'abaisse de tous les autres coches , et enfin annuler le drapeau .

Voilà, voilà
 
Re : UserForm checkBox sur VBA

Bonsoir à tous

Une suggestion en passant
Utiliser un ToggleButton
(pour cocher/décocher toutes les CheckBox)
PS: test OK sur mon PC
Code:
Private Sub ToggleButton1_Click()
Dim ctl As Control
For Each ctl In Frame1.Controls
If TypeName(ctl) = "CheckBox" Then
ctl.Value = ToggleButton1
End If
Next
End Sub


PS: On peut peaufiner en changeant la Caption du ToggleButton selon son état.
Pour se faire voir les exemples dans les archives du forum 😉
 
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
7
Affichages
273
Réponses
2
Affichages
207
Réponses
7
Affichages
214
Réponses
4
Affichages
188
Réponses
5
Affichages
237
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…