EXo_qcm en VBA sous Excel

Transcription

EXo_qcm en VBA sous Excel
Réaliser un QCM
(d’après Home PC Juillet/Aout 2000)
Comment construire un questionnaire à choix multiple
avec Microsoft Excel ?
Le principe du questionnaire à choix multiple que nous vous proposons de réaliser ici est simple une
question s’affiche à l’écran ainsi que trois réponses possibles. Parmi ces dernières se cache la bonne
réponse. Le candidat choisit une réponse et le verdict tombe puis il passe à la question suivante.
1 Construire le questionnaire
Mettez le questionnaire en forme dans un tableau dans la deuxième feuille du classeur (elle sera à
l’abri du regard du candidat). Cliquez pour cela sur l’onglet Feuil2 en bas de l’écran. Inscrivez ensuite
le texte des questions dans la première colonne, puis les trois réponses proposées sur la même ligne
dans les colonnes suivantes. Dans la dernière colonne du tableau, faites figurer le numéro de la
bonne réponse (1, 2, ou 3). Vous pourrez actualiser le tableau par la suite en ajoutant autant de
questions que vous souhaitez.
Contenu de la feuille 2
2 Afficher l’énoncé
Affichez à présent la première feuille du classeur (Feuil1). Inscrivez ensuite le texte Question numéro
dans la première cellule et dans la cellule suivante, inscrivez la valeur 1. Choisissez ensuite Nom
dans le menu Insertion, puis sélectionnez Définir dans la liste et inscrivez Question dans la case
Noms dans le classeur. Cliquez sur 0k. La cellule porte à présent le nom Question. Passez une ligne,
puis cliquez dans la cellule où vous souhaitez faire apparaître l’énoncé de la question et choisissez
Fonctions dans le menu Insertion. Dans la catégorie Recherche et matrices, sélectionnez la fonction
INDEX.
Insertion de la fonction Index()
Dans la fenêtre Sélectionner les arguments qui apparaissent, choisissez l’argument tableau;
nolig;nocol et cliquez sur 0k Dans la fenêtre de configuration de la fonction, cliquez sur la petite flèche
rouge située en face de la zone Tableau, puis affichez la deuxième feuille du classeur et cliquez sur
l’en-tête de la première colonne du tableau (celle qui contient les énoncés). Appuyez sur la touche
[Entrée]. Dans la case No_Iig, inscrivez le nom Question. Cliquez sur 0k. L’énoncé de la question
correspondant au numéro choisi doit apparaître dans la cellule.
Réaliser un QCM avec Excel
page 1/1
3 Proposer les réponses
Cliquez dans la première cellule de la ligne suivante et insérez, comme précédemment, la fonction
lndex0. Dans la case Tableau, faites figurer, cette fois-ci, les coordonnées de la colonne qui contient
les premières réponses aux questions. Dans la case No_lig, inscrivez le nom de la cellule qui contient
le numéro de la question. Cliquez sur 0k: la première réponse proposée s’affiche dans la cellule.
Procédez de la même manière pour faire apparaître, sur les deux lignes suivantes les deux autres
réponses.
Affichage des propositions de réponse en utilisant la même fonction INDEX()
4 Choisir une réponse
Vous allez maintenant créer un petit dispositif à base de boutons qui permettra au candidat de
sélectionner sa réponse. Inscrivez dans une ligne en dessous le libellé Votre réponse est : Dans la
cellule suivante, inscrivez provisoirement 0 puis nommez cette cellule Reponse. Dans le menu
Affichage, choisissez Barre d’outils puis Formulaires. Cliquez sur Bouton dans cette palette d’outils et
tracez un bouton rectangulaire devant la première réponse.
Créer des boutons qui permettront au candidat
de sélectionner sa réponse parmi celles proposées
Réaliser un QCM avec Excel
page 2/2
La fenêtre Affecter une macro s’ouvre automatiquement. Le nom par défaut de cette première macro
est Bouton1_QuandClic. Cliquez sur le bouton Nouvelle pour afficher l’éditeur de Visual Basic. Entre
les lignes Sub Bouton1_QuandClic et End Sub, inscrivez l’expression suivante Range(« Reponse
»)=1 La valeur Range(« Reponse ») correspond à la cellule que vous avez nommée Reponse.
Choisissez Fermer et retournez à Microsoft Excel dans le menu Fichier de l’éditeur, puis cliquez sur le
bouton que vous avez créé la valeur 1 s’affiche dans la cellule que vous avez nommée Reponse.
Faites ensuite un clic droit sur le bouton et choisissez Modifier le texte dans son menu contextuel.
Inscrivez le titre Réponse 1 sur le bouton, puis appuyez sur la touche [Echap]. Créez, sur le même
modèle, deux autres boutons pour les deux autres réponses en veillant à remplacer la valeur 1 par la
valeur 2 puis par la valeur 3.
.
5 Tester la réponse
Le numéro de la réponse choisie par le candidat est à présent contenu dans la cellule que vous avez
nommée Reponse. Il suffit maintenant de comparer cette valeur avec celle qui est indiquée dans la
dernière colonne du tableau des questions. Dans la cellule suivante, insérez de nouveau la fonction
lndex() Dans la case Tableau de la fenêtre de configuration, faites figurer les coordonnées de la
colonne qui contient les numéros des réponses et inscrivez, comme précédemment, le nom de
variable Question dans la case No_lig. Cliquez sur 0k le numéro de la bonne réponse apparaît dans
la cellule. Modifiez ensuite le contenu de celle cellule en insérant la fonction logique Si() de manière à
obtenir l’expression suivante S1(INDEX(Feuil2!E:E;E2)=Reponse; "Bonne réponse"; "Mauvaise
réponse"). En d’autres termes, si la valeur trouvée dans le tableau par la fonction lndex() est égale à
la valeur contenue dans la cellule nommée Reponse, alors le message Bonne réponse s'affiche dans
la cellule, sinon c’est la phrase Mauvaise réponse qui apparaît.
Tester la réponse en la comparant au numéro figurant
dans la feuil2 en face de la proposition de réponse
6 Incrémenter la question
Il ne reste plus qu’à mettre en place le bouton qui permettra au candidat de passer à la question
suivante. Cliquez sur Bouton dans la palette d’outils Formulaires et tracez son cadre, en haut en face
du numéro de la question. Dans la fenêtre Affecter une macro, relevez le nom de la macro
(Bouton4_Quandclic, par exemple), puis cliquez sur le bouton Nouvelle pour accéder à l’éditeur
Visual Basic. Entre les lignes Sub Bouton4_QuandClic) et End Sub, inscrivez l’expression Range(«
Question »)=Range(« Question » )+1. De cette manière, chaque fois que le candidat appuie sur le
bouton, la valeur 1 s’ajoute à la valeur contenue dans la cellule que vous avez nommée Question. A
la ligne suivante, ajoutez l’expression Range(« Reponse »)=0 pour initialiser à chaque fois la valeur
de la réponse à 0. Quittez l’éditeur.
Création d'un bouton permettant le passage à la question suivante
Remarque
Dans le cas où le numéro de la réponse est égal à 0, transformer l’expression de la cellule qui
contient le test sur la réponse de la manière suivante :
=si(Reonse=0 ; »faites votre choix » ;si(INDEX(FEUIL2!E:E;E2)=Reponse ;
"Bonne réponse";"mauvaise réponse")).
Dans ce cas, tant que le candidat n’a pas fait son choix, le message Faites votre choix apparaît.
Pour rendre le questionnaire invisible, affichez la feuille qui le contient. Sélectionner feuille dans le
menu format puis Masquer. Choisissez ensuite Protection dans le menu Outils, puis sélectionnez
feuille dans la liste et indiquez un mot de passe.
Réaliser un QCM avec Excel
page 3/3