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