Comment faire une feuille d'examen à choix multiples dans Excel

Partage maintenant:

En tant que formateur, vous auriez animé plusieurs séminaires auprès de vos étudiants. Il est maintenant temps de partager un classeur Excel avec vos élèves qui vous aidera à identifier ce qu'ils ont compris. Préparez une feuille d'examen numérique à choix multiples en suivant cet article.

Téléchargez

Si vous souhaitez commencer à utiliser le logiciel dès que possible, vous pouvez :

Téléchargez le logiciel maintenant

Sinon, si vous voulez bricoler, vous pouvez lire le contenu ci-dessous.

Préparons l'interface graphique

ContenuPréparer le test de la feuille

Préparer la feuille Résumé

Préparer la base de données de feuilles

Préparons la base de données

Ajouter des questions, des options et la bonne réponse sur la feuille "Base de données"

Rendons-le fonctionnel

Copiez ce script dans un nouveau module de votre classeur activé par macro.

Sub Prepare_Test()
    Dim lr As Long
    Dim r As Long
    Dim rinq As Long
    rinq = 0
    lr = Sheets("Database").Range("A" & Rows.Count).End(xlUp).Row
    For r = 3 To lr
        rinq = rinq + 6
        Sheets("Test").Range("C" & rinq).Value = Sheets("Database").Range("A" & r).Value
        Sheets("Test").Range("C" & rinq + 1).Value = Sheets("Database").Range("B" & r).Value
        Sheets("Test").Range("C" & rinq + 2).Value = Sheets("Database").Range("C" & r).Value
        Sheets("Test").Range("C" & rinq + 3).Value = Sheets("Database").Range("D" & r).Value
        Sheets("Test").Range("C" & rinq + 4).Value = Sheets("Database").Range("E" & r).Value
    Next r
End Sub

Sub Show_Result()
    Dim lr As Long
    Dim r As Long
    Dim rinq As Long
    rinq = 0
    Sheets("Database").Visible = -1
    Sheets("Summary").Visible = -1
    lr = Sheets("Database").Range("A" & Rows.Count).End(xlUp).Row
    Dim v_ccount As Long
    v_ccount = 0
    For r = 3 To lr
        Dim v_answer As String
        v_answer = "Option " & Sheets("Database").Range("F" & r).Value
        rinq = rinq + 6
        If Sheets("Test").Range("C" & rinq + 1).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 1).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 2).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 2).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 3).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 3).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 4).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 4).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
    Next r
    Sheets("Summary").Range("C7").Value = Sheets("Test").Range("F3").Value
    Sheets("Summary").Range("C11").Value = lr - 2
    Sheets("Summary").Range("F11").Value = v_ccount
    Sheets("Summary").Range("I11").Value = (lr - 2) - v_ccount
End Sub

Copiez ce script dans la fenêtre de code de la feuille "Test"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ar As Long
    ar = Target.Row
    Range("C" & ar & ":F" & ar).Interior.Color = vbYellow
End Sub

Copiez ce script dans la fenêtre de code de "ThisWorkook"

Private Sub Workbook_Open()
    Call Module1.Prepare_Test
    Sheets("Database").Visible = 2
    Sheets("Summary").Visible = 2
End Sub

Un service innovant

Lorsqu'un utilisateur ouvre le classeur, la macro s'exécute pour masquer les feuilles "Base de données" et "Résumé". Si la feuille "Base de données" n'est pas masquée à l'utilisateur, toutes les réponses sont exposées. Il n'est pas non plus nécessaire pour un étudiant de voir la feuille "Résumé". Avant d'envoyer le classeur aux utilisateurs, il faut exécuter la macro « Prepare_Test » qui remplira la feuille « Test ». Les utilisateurs peuvent sélectionner n'importe quelle option et la macro mettra en surbrillance la réponse sélectionnée en jaune. La macro "Show_Result" comparera les options sélectionnées sur la feuille "Test" avec les réponses sur la feuille "Database" et identifiera le nombre de réponses correctes.

Sheets n'a pas été masqué ?

Le script VBA ne peut pas alerter les propriétés d'une feuille de calcul Excel corrompue. Dans ce cas, récupérer Excel feuille de calcul et réexécutez la macro.

Introduction de l'auteur:

Nick Vipond est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris Mot endommagé et produits logiciels de récupération Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.