Correction QCM "ABCD" avec pondération

Bonjour,

Je cherche à calculer les résultats d'un QCM réalisé à l'aide de boitiers électroniques.

Le logiciel collectant les résultats des boitiers me fournit un tableau tel qu'affiché dans le document d'exemple "Résultats élèves".

La correction est un peu complexe car chaque question vaut 1 point et il faut :

- attribuer 0 si une proposition est fausse

Ex : Elève = ABD - Réponse : AB - Note attendue : 0

- attribuer 1 si toutes les propositions sont correctes

Ex : Elève = ABD - Réponse : ABD - Note attendue : 1

- attribuer 1/le nombre de propositions correctes si l'élève a sélectionné une partie des réponses justes

Ex : Elève = ABD - Réponse : ABCD - Note attendue : 0,75

Ex : Elève = AB - Réponse : ABC - Note attendue : 0,66

Je joins un fichier d'exemple avec le résultat souhaité.

Je tourne en rond et je multiplie les étapes de calcul, en vain...

Merci pour votre aide.

54exemple.xlsx (10.50 Ko)

Bonjour,

sans doute faisable par formule mais beaucoup plus simple (à réaliser et à utiliser) avec une fonction personnalisée en vba :

Function note(proposition As String, reponse As String) As Double
    Dim i As Long, nb As Long
    For i = 1 To Len(proposition)
        If InStr(reponse, Mid(proposition, i, 1)) Then
            nb = nb + 1
        Else
            note = 0: Exit Function
        End If
    Next i
    note = nb / Len(reponse)
End Function

à mettre dans un module standard.

eric

60exemple.xlsm (17.93 Ko)

Un grand merci pour votre aide.

Je vais essayer d'adapter le code vba à mon fichier.

N'étant pas familier avec le vba, si quelqu'un à une solution uniquement basée sur des formules, je suis preneur.

Rechercher des sujets similaires à "correction qcm abcd ponderation"