CheckBox : obligation de cocher qu'une seule case

Résolu
SandraMt
Messages postés
58
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
2 juillet 2014
- 26 juin 2014 à 14:40
SandraMt
Messages postés
58
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
2 juillet 2014
- 27 juin 2014 à 08:48
Bonjour,

Il y a plusieurs CheckBox dans mon UserForm d'accueil.

Je voudrait que l'utilisateur ne puisse cocher qu'une seule case.

Comment dois-je m'y prendre?

Merci par avance !

3 réponses

jordane45
Messages postés
35770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juillet 2022
358
26 juin 2014 à 20:10
Bon... aller... je vais être gentil...

Voici comment tu peux faire :

Code à placer dans ton USERFORM
Private Sub onlyOneChkB(Selectedchkb As String)
 Dim cCont As Control
 If Me.Controls(Selectedchkb).Value = True Then
 For Each cCont In Me.Controls
        If TypeName(cCont) = "CheckBox" Then  
            If cCont.Name <> Selectedchkb Then
               cCont.Value = False
            End If
        End If
     Next cCont
End If
End Sub



Et ensuite... pour chacune de tes Checkbox... tu places cette ligne de code:
 onlyOneChkB (Me.CheckBox1.Name)


En remplacçant "CheckBox1" par le nom de la checkBox dans laquelle tu as mis cette fonction..

Par exemple :

'Ma première checkBox
Private Sub CheckBox1_Click()
    onlyOneChkB (Me.CheckBox1.Name)
End Sub

'Une deuxième CheckBoxe
Private Sub CheckBox2_Click()
    onlyOneChkB (Me.CheckBox2.Name)
End Sub

'Etc...


1
SandraMt
Messages postés
58
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
2 juillet 2014

27 juin 2014 à 08:48
Nickel ! c'est parfait Jordane45 !

Merci beaucoup
0
jordane45
Messages postés
35770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 juillet 2022
358
26 juin 2014 à 15:06
Bonjour,

Le plus simple serait de mettre des boutons radio dans ce cas...
0
Whismeril
Messages postés
17481
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
2 juillet 2022
600
26 juin 2014 à 15:57
Je plussoie
0
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
Modifié par jordane45 le 26/06/2014 à 19:42
Oui Jordane45 a raison mais sinon tu peux coller ce code à modifier bien entendu pour chaque case à cocher selon ton code.

Private Sub CheckBox1_Click()
If CheckBox1.Value = False Then
    CheckBox2.Locked = False
    CheckBox3.Locked = False
ElseIf CheckBox1.Value = True Then
    CheckBox2.Locked = True
    CheckBox3.Locked = True
Else
End If

End Sub


Edit : Ajout des balises de code ...
0
Whismeril
Messages postés
17481
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
2 juillet 2022
600
26 juin 2014 à 19:03
Enfin quand il y en a dix.....
0