Google Forms : récupérer le score obtenu à chaque question par chaque participant
Vous utilisez Google Forms en mode questionnaire pour évaluer le niveau de compétence d’un apprenant. Malheureusement, les réponses récupérées dans le fichier Sheets ne contiennent que le score global obtenu. Comment affiner le résultat en […]

Ce que vous allez découvrir
- La problématique
- Le questionnaire
- Script pour recueillir le score de chaque question
- Conclusion
Google Forms : récupérer le score obtenu à chaque question par chaque participant
Vous utilisez Google Forms en mode questionnaire pour évaluer le niveau de compétence d’un apprenant. Malheureusement, les réponses récupérées dans le fichier Sheets ne contiennent que le score global obtenu. Comment affiner le résultat en affichant le score de chaque question ?
Certes, vous pouvez afficher les réponses individuelles, en feuilletant les réponses depuis Google Forms, une à une, comme le professeur qui épluche les malheureuses copies de ses élèves et saigne d’un air rageur de son stylo écarlate les inepties de ces petites têtes blondes, qu’il s’efforce de gaver d’informations aussi indispensables qu’inutiles, comme le fait que le participe passé s’accorde avec le COD si il est placé avant l’auxiliaire avoir ou que le carré de l’hypoténuse est égal à la somme des carrés des côtés opposés… mais je m’égare !
La problématique
Comment afficher dans un tableur le score de chaque participant à chaque question ?
constat : l’export des réponses n’affiche que le score global

Solution : afficher dans une table une ligne par participant et par question :

Voici un script qui crée un tableau des réponses et des scores obtenus par chaque participant pour chaque question.
Le questionnaire
- Créez un formulaire en utilisant le mode questionnaire.
- Activez l’option « Collecter les adresses e-mail ».
- Assignez des points à chaque question.
Rappel :
- Les questions de type Choix multiples, Cases à cocher, Liste déroulante sont les plus faciles à auto-corriger.
- Les questions de type Grilles ne sont pas utilisables dans ce script.
- Les questions de type Réponse courte et Paragraphe peuvent être auto-corrigées avec des mots clefs, mais c’est dangereux car comment prévoir toutes les possibilités d’écriture d’une « bonne » réponse ? Cf. dans mon exemple où l’élève a répondu « rois soleil » (sic), qui aurait pu être considérée comme correcte malgré l’erreur d’orthographe.
- Les questions Date, Heure, Echelle linéaire et Fichier ne peuvent pas pour l’instant être auto-corrigées.

Copiez l’ID du formulaire, vous en aurez besoin pour la suite.
Script pour recueillir le score de chaque question
- Créez un fichier Google Sheets.
- Nommez un onglet « Resultats ».
- Ouvrez l’éditeur de script.
- Copiez le code suivant en plaçant l’ID de votre formulaire :
function formulaire() { // ADAPTER L'ID DU FORMULAIRE const formId = "ECRIVEZ ICI L ID DE VOTRE FORMULAIRE"; //OUVRIR LE FORMULAIRE / LISTER LES SOUMISSIONS DE FORMULAIRES const forms = FormApp.openById(formId); const formsReponses = forms.getResponses(); let scores = []; formsReponses.forEach(function (formReponse) { const formReponseTime = formReponse.getTimestamp(); const formReponseEmail = formReponse.getRespondentEmail(); // LISTER LES REPONSES EVALUEES const reponses = formReponse.getGradableItemResponses(); reponses.forEach(function (reponse) { const reponseScore = reponse.getScore(); const reponseTitle = reponse.getItem().getTitle(); const reponseReponse = reponse.getResponse().toString(); Logger.log(reponseTitle + " " + reponseReponse + " score : " + reponseScore); scores.push([formReponseTime, formReponseEmail, reponseTitle, reponseReponse, reponseScore]); }) }) if (scores.length > 0) { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheetReponses = ss.getSheetByName("Resultats"); sheetReponses.getRange(2, 1, scores.length, scores[0].length).setValues(scores); } }
- Lancez le script avec le bouton « Exécuter » de l’éditeur.
- Acceptez les autorisations.
- Retournez sur l’onglet « Resultats ».
Conclusion
Ce script permet donc de récupérer toutes les réponses et le score de chaque participant afin de réaliser des analyses plus poussées. Malheureusement, je n’ai pas réussi à récupérer les points des exercices « Grilles ». En espérant que cette solution réponde à vos besoin.
Besoin d'un peu plus d'aide sur Google Forms ?
Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Google Forms, que ce soit pour votre entreprise ou pour vos besoins personnels !
Découvrir nos formations Google Forms- Tutos connexes
- Plus de l'auteur
Bonjour Antoine, merci pour le partage du script, cependant j’ai quelques questions si vous permettez, je pense que le bouton exécuter n’est pas utile, vous pouvez faire un déclencheur automatique après chaque réponse, aussi pourquoi ne pas configurer un sheet des bonnes réponses ensuite utiliser des if si la réponse est juste et de stocker la note dans une variable afin de l’afficher après, comme ça on peut configurer notre fichier.
Cet avis vous a été utile ?
Bonjour Mehdi, Merci pour votre réaction, libre à vous d’utiliser le script comme il vous convient 🙂
Bien bonne journée.
Cet avis vous a été utile ?