Comment créer un optionbutton

phmad

XLDnaute Nouveau
Bonjour,

Ma question est dans un premier temps assez simple, mais étant très débutant en VBA, je n'arrive pas à trouver, ni sur le forum, ni dans mes livres sur le VBA, la réponse concrète à mes questions.

J'utilise Excel 2003 et Windows XP Pro.

Je voudrais dans un premier temps simplement mettre deux boutons « oui » et « non », incompatibles bien sûr, à un questionnaire d'enquête.

Je n'ai pas vu dans ma version Excel l'outil "questionnaire", y compris dans "outils", "personnaliser".

J'ai su cependant créer un bouton « optionbutton » dans un frame, avec VB Editor, mais impossible de le copier sur une feuille excel normale. Faut-il modifier le code pour l'exporter ? Le copier coller ne fonctionne pas.

J'ai ensuite tenté avec l'outil « création » directement dans une feuille, mais impossible de modifier le contenu par la suite.


Maintenant, la suite de ma question est plus complexe, car il ne suffit pas au final d'additionner les oui et les non.

Il s'agit en fait d'élaborer un questionnaire de personnalité, dont toutes les questions seront mélangées et auxquelles l'utilisateur devra simplement répondre par "oui" ou par "non", sans se poser de questions sur la façon dont les réponses seront comptabilisées.

Par contre, pour le dépouillement, chaque question renvoie à une évaluation différente.

Exemple :

Si nous avions 20 questions qui mesureraient 5 critères différents, posées les unes à la suite des autres dans un ordre aléatoire, et que chacun de ces 5 critères de personnalité soit évalué par 4 questions sur les 20 (mais ce nombre pourrait aussi être différent pour chacun des critères).

Chaque critère de personnalité peut donc avoir des réponses "oui" ou "non", à chacune des 4 questions posées.

Il faudra donc ensuite une macro qui va d'abord sélectionner les questions de chacun des 5 critères, puis comptabiliser les oui ou les non successifs.

Il faudra ensuite comparer ces réponses à une liste préétablie pour chaque critère, dans laquelle un "oui" à une certaine question, ou un "non" à une autre question, rajoutera un point supplémentaire, pour au final obtenir un nombre total de points à chacun des critères de personnalité.

Exemple :

2 « oui » et 1 « non » au critère A, équivaut à 3 points au total ;
1 « non » et 3 « oui » vaudront 4 points au critère B ; etc.

Les questions des critères A et B sont bien sûr mélangées dans un ordre aléatoire, mais définitif dans mon questionnaire final.


Et enfin il faudra comparer chacune de ces notes totales dites "brutes" à chacun des critères, avec des échelles numériques préétablies dans lesquelles chaque note brute doit être convertie en une note dite "standard". Il s'agit en fait de faire alors une simple conversion :

(ex : si 3 points à l'échelle A, => 10 en note standard, pour cette échelle ; si 2 point à l'échelle C, => 12 en note standard, etc.).

Heureusement, l’analyse statistique des réponses n’est pas encore à l’ordre du jour de mes questions, mais cela viendra sans doute ….

Merci de vos réponses concrètes et pratiques, en espérant avoir été clair dans la formulation de mes questions. N’hésitez pas à m’interroger si mes propos sont restés trop abstraits.
 
Dernière édition:

Caillou

XLDnaute Impliqué
Re : Comment créer un optionbutton

Bonjour,

Pour la 1ère partie : tu peux utiliser les boutons d'options de la barre d'outils Formulaire. Comme ça tu peux les lier à une cellule et donc ensuite utiliser une fonction SI sur la cellule liée, par exemple.

Caillou
 

alex67800

XLDnaute Impliqué
Re : Comment créer un optionbutton

Bonjour phmad, Caillou,

Click droit sur la barre d'outil>>>>>visual basic.
Tu pourras créer ainsi des optionbutton directement sur ta feuille excel.

Pour le reste un petit fichier avec lequel nous pourrions travailler, avec ce que tu souhaites. Place les boutons où tu le désire et nous arriverons sûrement à t'aider à créer ton projet.
 

nolich

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Bonjour phmad, Caillou et alex67800, bonjour à toutes et à tous :)

Même avec la barre d'outils formulaire, tu peux créer des boutons liés et leur affecter une macro comme tu peux le voir dans le fichier joint (n'y cherche pas de code, c'est juste un exemple de cases d'options liées).

Par contre, si ton questionnaire est long, tu peux aussi travailler sur des cellules que tu auras formattées afin qu'elles soient carrées et auxquelles tu pourras associer un gestionnaire d'évènements.

Pour tes critères, tu peux utiliser une colonne (la colonne A par exemple) pour identifier le critère et une seconde pour indiquer si c'est le Oui qui rapporte 1 point ou le Non. Tu pourrais ainsi cacher ces 2 colonnes et faire tes calculs avec des SOMMEPROD ou autre NB.SI .

Commence déjà à fabriquer une maquette et je suis certain que tu pourras trouver plein d'aide ici :)

@+
 

Pièces jointes

  • phmad_OptionButton.xls
    17.5 KB · Affichages: 307

phmad

XLDnaute Nouveau
Re : Comment créer un optionbutton

Merci pour vos réponses.

J'ai enfin trouvé la barre outils "formulaires" et j'ai commencé à rédiger mon questionnaire sur une première feuille, en ayant créé deux boutons oui-non, après avoir enfin compris qu'il fallait faire un clic droit pour sélectionner les propriétés du cadre.

J'ai ensuite associé à l'un des deux boutons (réponse oui ou non selon le cas) une case dans une autre feuille que j'ai appelée "échelle", pour récupérer la valeur du bouton, pensant qu'en sélectionnant un seul bouton valide, j'aurai une seule réponse.

Mais je ne connais pas la macro ni comment la mettre, pour que les boutons oui-non soient associés horizontalement, mais par verticalement, car pour l'instant un seul bouton s'active sur l'ensemble, et non pas deux par deux.

Je vous joins le premier volet de mon projet. Merci à tous.
 

Pièces jointes

  • Mon questionnaire.xls
    22.5 KB · Affichages: 193

nolich

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Re, bonjour skoobi, bonjour à toutes et à tous :)

Voici un exemple de ce que tu peux faire. Vérifie si ça peut ressembler à ce que tu souhaites.
 

Pièces jointes

  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 198
  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 201
  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 203

phmad

XLDnaute Nouveau
Re : Comment créer un optionbutton

Bonjour à tous et à toutes, c'est vraiment super d'avoir des personnes qui vous aident de cette façon.

J'ai donc fait ce que Skoobi m'a suggéré, complété par ce que Nolich m'a envoyé et bien sûr cela marche.

Par contre, je veux bien que vous me communiquiez les macros ou les manips que vous faîte, pour que je puisse modifier la démarche selon mes propres critères.

Par exemple, j'ai compris comment associer un bouton à une cellule d'une autre feuille, en activant ou désactivant la valeur.

Mais comment faire pour modifier la valeur renvoyée dans la cellule ?
En effet, je voudrais que cela soit 1 pour un bouton activé (qu'elle soit oui ou non) et 0 pour un bouton non activé.

Merci.
 

Pièces jointes

  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 126
  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 137
  • Nolich_Mon questionnaire.xls
    21 KB · Affichages: 132

allegro50

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Bonjour
A ma connaissance un bouton radio est toujours activé dans une zone de groupe et renvoie une valeur qui correspond à son rang dans le groupe.
Sans passer par VBA, il est possible de créer une troisième option correspondant à non répondu et de la prendre en compte ds les traitements (par exemple en disant "si 3 alors 0")
Ci-joint le fichier de nolich où j'ai ajouté ce troisieme choix
Dis nous ce que ca donne
Bonne journee
 

Pièces jointes

  • Copie de Nolich_Mon questionnaire.xls
    19.5 KB · Affichages: 191

nolich

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Re bonjour, bonjour allegro50, bonjour à toutes et à tous :)

allegro50, c'est vrai qu'un autre choix que oui ou non pourrait convenir à phmad, mais il semble ne vouloir que ces 2 choix d'après ce que j'ai compris :confused:

Code:
A ma connaissance un bouton radio est toujours activé dans une zone de groupe
et renvoie une valeur qui correspond à son rang dans le groupe.

Cela n'est pas toujours le cas. Dans le fichier, les cases d'option peuvent être désactivée en effaçant le contenu de leurs cellules liées ; essaies et tu verras.

phmad, je n'ai pas trop compris la finalité de ta dernière demande :

Code:
Mais comment faire pour modifier la valeur renvoyée dans la cellule ? 
En effet, je voudrais que cela soit 1 pour un bouton activé (qu'elle soit
oui ou non) et 0 pour un bouton non activé.

Tu veux 2 colonnes ? Une pour les "oui" et l'autre pour les "non" ?

A vous relire...

@+
 

allegro50

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Re Nolich
Tu as raison...mais je ne vois pas l'utilisation qu'on peut en faire
Pour moi la cellule liée est un resultat et non un point d'entrée.
Si je comprends la demande de phmad , il faudrait effacer le contenu des cellules liées, à l'ouverture du classeur et leur donner la valeur 0
Ensuite, si le bouton est coché elles prendraient la valeur 1
Mais, dans ce cas, une check box devrait suffire
Qu'en penses-tu?
 

nolich

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Re, bonjour à toutes et à tous :)

Tu as raison également, allegro50, une case d'option devrait suffire dans ce cas. Mais j'attends l'intervention de phmad pour mieux comprendre ce qu'il souhaite faire.

On peut aussi insérer 2 colonnes, avant la colonne "Bonne Réponse", une pour les "oui", et une pour les "non" avec un calcul d'après la valeur des colonnes "Echelle n" dans ces 2 nouvelles colonnes.

Qu'en penses-tu ?

@+
 

phmad

XLDnaute Nouveau
Re : Comment créer un optionbutton

Merci pour l'énergie que vous mettez à essayer de résoudre mon pb, en espérant que cela puisse servir aussi à d'autres personnes.

Pour répondre à Allegro 50 : Merci bcp pour le fichier que tu m'as renvoyé. Cependant il remet le pb comme au début en ajoutant la valeur 3 à "ne sais pas".

En fait je n'ai besoin que de deux boutons pour chacune des questions : oui ou non.

Ensuite, suivant les questions, le "oui" renverra la valeur 1 et le "non" la valeur 0 (ou plutôt ne renverra pas de valeur) dans l'échelle équivalante à la question.

Dans une autre question ce sera éventuellement l'inverse : le "oui" renverra une valeur "nulle" et le "non" la valeur 1, toujours à la même échelle.

Puis d'autres questions (mélangées dans un ordre aléatoire) renverront également des 1 ou des nuls à chacune des autres échelles.

C'est en fait moi qui déterminerai dans quelle cellule (et donc dans quelle échelle) la valeur 1 ou nulle doit être renvoyée.

Mon seul pb est donc pour l'instant de savoir mettre 1 ou "nul" à une réponse "oui" ou "non" (peu importe le bouton, pourvu qu'ils soient exclusifs l'un de l'autre).

Il faut ensuite que je comptabilise tous les 1 à chacune des échelles, pour obtenir ce que l'on appelle des résultats "bruts".

Il faudra ensuite que je compare ces résultats bruts avec d'autres tableaux que je mettrais sur excel, pour les transformer en notes "standardisées". cad que par exemple 22 point à l'échelle A, va correspondre à une note de 10 ; 25 points donnera une note de 12, etc; pour chacune des échelles.

N'hésitez à me redemander des précisions si je n'ai pas été assez clair dans mes explicationS.

Enfin, si certains d'entre vous ont déja utilisé XLstat, pourriez vous me dire où on peut trouver un didacticiel, la barre d'outils que j'ai installée me paraît encore très simpliste et confuse.

Merci à tous. Philippe
 

allegro50

XLDnaute Occasionnel
Re : Comment créer un optionbutton

Bonjour Philippe
Si je resume ce que j'ai compris comme suit, peux tu me dire si je suis sur la bonne voie:
Si question A alors echelle = 1 et (oui = 1 et non = 0)
si question B alors echelle = 1 et (oui = 0 et non = 1)
Si question C alors echelle = 2 et (oui = 1 et non = 0)
Si question D alors echelle = 2 et (oui = 0 et non = 1)
............

Si tu souhaites poser les questions dans un ordre aléatoire,Il faut donc qualifier la question - et lui conserver son identifiant - pour déterminer l'échelle qui lui est applicable et la règle de gestion oui/non
 

phmad

XLDnaute Nouveau
Re : Comment créer un optionbutton

Oui, c'est tout à fait cela.

Concernant l'ordre "aléatoire", ce n'est pas tout à fait exact.

C'est moi qui choisirai de mettre le contenu des questions dans l'ordre que je voudrais.

Je voulais simplement dire que les questions de l'échelle A, B, C, etc. ne sont pas regroupées les unes à la suite des autres, mais mélangées.

Mais il suffit pour cela que j'identifie la liaison de chaque réponse oui=1 ou 0 ; non=1 ou 0 à chacune des cellules correspondant à chaque échelle.
 

Discussions similaires

Réponses
6
Affichages
388

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 133
dernier inscrit
mtq