Choix d'une seule réponse checkbox

Bonjour,

mon mari m'a initié à la VBA pour que je crée avec des userform, un questionnaire que les parents de mes futurs patients doivent remplir.

J'ai une problématique que mon mari ne trouve pas de solution.

Sur une des userform, j'ai reproduit un questionnaire où il faut donner une seule réponse sur 5 pour chaque question.

Je vous mets une capture d'écran d'une partie du questionnaire, ça sera plus facile à comprendre

image

J'avais trouvé je ne sais plus où, un code pour qu'un seul choix est possible parmi les 5.

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 pour chaque checkbox, je devais rajouter ce code:

onlyOneChkB (Me.CheckBox1.Name)

Ca marche super bien pour la première ligne.

Mais lorsque je passe à la ligne suivante, le choix fait lors de la première ligne disparait.

J'avais pensé à utiliser des optionbutton mais j'ai la même problématique lorsque je passe à la ligne suivante.

Y a-t-il un code comme celui noté ci-dessus, que je peux mettre pour chaque ligne?

J'en profite pour poser une autre question, je voulais que mes checkbox soient encadrés.

J'ai mis des label devant mais à cause de ces derniers, on ne peut pas cocher les checkbox.

Y a-t-il la possibilité de mettre le label en arrière pour pouvoir avoir la bordure sans que ça empêche de cliquer sur le checkbox?

A moins qu'il y ai une autre possibilité de créer des lignes en vue de créer un tableau.

En vous remerciant pour votre aide.

Bonjour Benou et

un questionnaire où il faut donner une seule réponse sur 5 pour chaque question.

Il faut donc utiliser des OptionButton et non des CheckButon pas fait pour ça

Et derrière les OptionButton, aucun code à mettre

A+

Bonjour,

si j'utilise des optionbuttons comment faire pour que le choix fait lors de la première ligne ne disparaisse quand on passe à la ligne suivante?

Bonjour Benou,

Il faut utiliser la propriété GroupName, ici en bas de l'image

image

A+

si je comprends bien, pour chaque optionbutton de la ligne, je mets groupname.

groupname1 pour ceux de la ligne 1

groupname2 pour ceux de la ligne 2

et ainsi de suite

Je vais faire ça cet après-midi.

Merci

Re,

Oui c'est bien ça

Mais on peut faire beaucoup plus simple en faisant un USF avec juste une ligne pour la question et pour les OptionButton

Une petite boucle sur chaque question et hop

A+

je veux bien des explications ou un tuto car je ne sais pas faire.

Merci

Re,

Des sujets sur les QCM existent sur ce forum car la demande est récurrente

Ceci dit, voici un exemple qu'il faudra mettre en forme selon votre goût et besoin

A+

Ok super merci beaucoup.

Finalement je préfère la première solution avec la propriété groupname de chaque optionbutton.

Merci beaucoup pour votre aide.

Bonsoir

Effectivement, les optionButton sont plus indiqués pour cette problématique.

Il suffit de créer des Frames ( 3 dans votre cas), dans lesquels vous mettrez les optionButtons de vos réponses (5), de plus vous pouvez encadrer ces frames (Propriété BorderStyle)

Les OptionButton de chaque Frame n'accepteront qu'un seul choix, sans besoin de code.

Enfin une boucle sur chaque OptionButton permettra de connaitre la réponse.

Cordialement

Bonjour ISRI,

Vous vous avancez peut-être un petit peu vite non

Qu'est-ce qui vous dis qu'il n'y a que 3 questions ?

Et on peut faire sans frame

Bonsoir

Rien ne dit qu'il y a jute 3 questions, c'est juste que j'ai repris la capture d'écran.

En fait le plus simple, c'est de poser une question à la fois, et noter les réponses.

J'ai un travail déja fait dans ce sens, et serait prêt à le partager, moyennant une petite adaptation.

Cordialement

Bonjour, il y a en tout 15 questions que j'ai réparti dans deux userforms. J'avais essayé de mettre les 5 optionbuttons d'une question dans une frame pour pouvoir bénéficier de la bordure mais ma problématique c'est qu'il y a un mot en haut à gauche qui apparait au niveau de la bordure que je ne pouvais pas supprimer. Mais voulant faire une capture d'écran pour vous montrer de quoi je parle, je viens de trouver comment le supprimer. Du coup, je vais mettre des frames pour chaque ligne d'optionbuttons. (problème résolu) J'ai d'autres questions: Je vais envoyer ce questionnaire à des familles dont je ne suis pas sûre qu'elles aient excel sur l'ordinateur. Est-ce que sur internet, on peut remplir des questionnaires fait sur VBA? Je souhaite que lorsqu'ils ont fini de remplir tout le questionnaire, ils appuient sur un commandbutton qui va enregistrer les réponses (je sais comment faire cette partie) et qui enregistrera le fichier excel contenant le questionnaire et les réponses (je ne sais pas comment faire cette partie). Est-ce possible? Si oui, quel code dois-je rajouter au commandbutton? En vous remerciant

Bonjour,

Vous êtes sérieuse là, il aurait peut-être été bien d'en parler avant.

Quand vous vous lancez dans un projet, pensez à la finalité.

Vous avez juste perdu votre temps.et fait perdre le notre 🙄

bonjour, je ne comprends pas pourquoi vous me dites ça.

Avant de poser la question sur comment faire pour que la réponse de ma première ligne ne disparaisse pas quand on coche une réponse de la deuxième ligne, je n'avais pas la solution.

Grace aux réponses sur ce forum, j'ai compris comment faire pour ma première problématique.

Bonsoir,

Simplement pour ces 2 raisons :

1) si vous envoyez le fichier à des gens, ils ne pourront pas s'en servir, beaucoup non pas Excel

2) si vous mettez ça sur le Web, pas de VBA donc pas de Userform

Voilà pourquoi

ok, merci pour votre retour

Cependant, ce n'est pas du temps perdu puisque je l'enverrai au moins aux parents qui ont excel.

Re,

Effectivement on peut le voir ainsi j'espère qu'ils seront nombreux

Bonne continuation

je vais essayer de faire ce questionnaire sur libre Office aussi. Comme ça, si des parents n'ont pas excel, je leur demanderai de télécharger gratuitement libre Office.

Rechercher des sujets similaires à "choix seule reponse checkbox"