Case à cocher avec une seule coche

Clark

XLDnaute Junior
Bonjour au forum,

j'essaye de créer un formulaire de type QCM
Pour chaque question, on a 4 réponses possible sous forme de case à cocher.

Mon problème est de faire en sorte qu'il n'y ait qu'une seule réponse à la fois donc si on coche la case 1 puis ensuite la 2 alors la case 1 doit se décocher automatiquement.

Je pensais que l'on pouvait sur un objet checkbox mettre plusieurs options qui auraient représentées mes 4 réponses et que l'objet lui-même aurait géré le fait de ne pouvoir cocher qu'une seule réponse mais soit cela n'est pas possible, soit je ne trouve pas comment faire.

J'ai essayé aussi bien avec la chekbox de la boite à outil contrôles qu'avec la boite formulaire.

J'ai donc essayé d'appeler une macro générique depuis chaque case en passant en paramètre, la case appelante et les 3 autres cases

Ex : J'ai pour la question 1, les case C1,C2,C3 et C4
Disons que C2 est déjà coché.
Je coche C3 ce qui appele ma procédure Verif_MonoReponse (C3, C1, C2, C4)

Private Sub Verif_MonoReponse (Ca as checkbox, Cb as checkbox, Cc as checkbox, Cd as checkbox)

si Ca.value=vrai alors
'je décoche les 3 autres
Cb.value=faux
Cc.value=faux
Cd.value=faux
sinon
'rien
fin

Mais cela ne marche pas.
Je ne suis pas non plus sûr que l'on puisse passer une checkbox en paramètre pour l'utiliser ensuite dans la fonction.
Avez-vous une idée de mon problème ou une autre façon de faire?

Merci pour votre attention
Clark :)
 

philmaure

XLDnaute Impliqué
Re : Case à cocher avec une seule coche

bonjour,

dans le cas présent il te faut utiliser le bouton d'option et non pas la case à cocher.
tu les mets dans un cadre et ainsi seul une option peut être coché.
Pour tester la répponse tu peux utiliser la fonction For Each.
A ce propos je viens de mettre un post sur le forum à 12h13 avec un exemple.
Tu peux le consulter

Philmaure
 

Clark

XLDnaute Junior
Re : Case à cocher avec une seule coche

Bonjour Philmaure,

merci pour ta réponse, cela semble répondre parfaitement à ce qu'il me faut.
Par contre, je n'utilise pas de USerform mais je travaille directement dans la feuille excel.
Je ne pense pas que cela change grand chose, par contre, je ne trouve pas comment mettre les options dans un cadre pour les regrouper comme dans ton exemple?

Clark :)
 

Clark

XLDnaute Junior
Re : Case à cocher avec une seule coche

Bon j'ai trouvé comment lier une option à un contrôle Frame mais uniquement dans un USerform.
Par contre pas moyen de le faire dans une feuille d'un classeur.
Je n'avais pas le contrôle Frame dans la boite à outils (dans le classeur)
J'ai donc cherché dans la liste et trouvé Microsoft Form 2.0 Frame.
Je l'ajoute dans ma feuille puis je sélectionne le contrôle Optionbutton, je clique sur la Frame, l'optionbutton se créé mais n'est pas lié à la frame.
Est-ce possible de lier la frame à une optionbutton dans un classeur comme on peut le faire dans un Userform?

Clark :)
 

tototiti2008

XLDnaute Barbatruc
Re : Case à cocher avec une seule coche

Bonjour à tous,

une autre solution est de renseigner la propriété GroupName des OptionButton liés

Pour ceux qui sont liés entre eux, dans GroupName tu mets le même nom de groupe (n'importe quel texte)

Ceux qui auront le même seront liés entre eux

Edit :

maintenant, si tu tiens à utiliser ton contrôle Frame :

Insère ton Frame
Clic droit dessus - Objet Cadre - Edition

c'est là que tu pourra insérer tes OptionButton
 
Dernière édition:

coco_lapin

XLDnaute Impliqué
Re : Case à cocher avec une seule coche

Bonjour le forum,

Une autre solution est d'utiliser l'événement Worksheet_SelectionChange.
Voir classeur en annexe.
 

Pièces jointes

  • bouton.xls
    17.5 KB · Affichages: 398
  • bouton.xls
    17.5 KB · Affichages: 374
  • bouton.xls
    17.5 KB · Affichages: 377

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 273
Membres
103 168
dernier inscrit
isidore33