UserForm checkBox sur VBA

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
 

laetitia90

XLDnaute Barbatruc
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 ???
 

camarchepas

XLDnaute Barbatruc
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à
 

Staple1600

XLDnaute Barbatruc
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
01ToggleB.png

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:

Si...

XLDnaute Barbatruc
Re : UserForm checkBox sur VBA

salut

merci Staple pour le fichier dans lequel tu as créé ton Userform :p.
Voilà le mien sans garantie (ai-je bien compris la demande ?).

Remarque, je préfère remplacer 36 000 cases par un contrôle ListBox !
 

Pièces jointes

  • Cases Dépendantes (UsF).xls
    40 KB · Affichages: 107