CheckBox : obligation de cocher qu'une seule case [Résolu]

SandraMt 58 Messages postés jeudi 5 juin 2014Date d'inscription 2 juillet 2014 Dernière intervention - 26 juin 2014 à 14:40 - Dernière réponse : SandraMt 58 Messages postés jeudi 5 juin 2014Date d'inscription 2 juillet 2014 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jordane45 21182 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 mai 2018 Dernière intervention - 26 juin 2014 à 20:10
1
Merci
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...


Merci jordane45 1

codes-sources a aidé 82 internautes ce mois-ci

SandraMt 58 Messages postés jeudi 5 juin 2014Date d'inscription 2 juillet 2014 Dernière intervention - 27 juin 2014 à 08:48
Nickel ! c'est parfait Jordane45 !

Merci beaucoup
Commenter la réponse de jordane45
jordane45 21182 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 mai 2018 Dernière intervention - 26 juin 2014 à 15:06
0
Merci
Bonjour,

Le plus simple serait de mettre des boutons radio dans ce cas...
Whismeril 11552 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 26 juin 2014 à 15:57
Je plussoie
Commenter la réponse de jordane45
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - Modifié par jordane45 le 26/06/2014 à 19:42
0
Merci
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 ...
Whismeril 11552 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 26 juin 2014 à 19:03
Enfin quand il y en a dix.....
Commenter la réponse de valtrase

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.