web-dev-qa-db-fra.com

Comment modifier la réponse d'une soumission de formulaire dans Google Forms / Sheets?

Récemment, j'ai mené une enquête. J'ai commencé à le créer dans Excel Forms Online, mais je suis passé à Google Forms après avoir réalisé plusieurs de ses lacunes. J'ai frappé quelques chicots mais je pensais que j'étais prêt à partir.

Malheureusement, j'ai commencé à ajouter des questions au formulaire et à changer les réponses (fautes d'orthographe, etc ...) et cela a commencé à causer tout un tas de problèmes. Il suffit que je doive revenir en arrière et demander aux utilisateurs leurs réponses aux nouvelles questions, le cas échéant. Le pire, c'est que je ne peux pas du tout modifier une soumission. Je ne peux pas modifier la feuille de calcul connectée au formulaire car les résultats sont stockés dans le formulaire. Si je régénère la feuille de calcul, la réponse soumise dans le formulaire remplace tout ce qui s'y trouvait auparavant. Je ne peux donc pas du tout modifier la feuille de calcul.

J'ai cherché un moyen d'essayer de modifier manuellement la réponse soumise par un utilisateur. J'ai trouvé une ressource ici sur Stack Overflow , et ici sur Google Groupes sur le Forum Produits , mais malheureusement, j'ai essayé tous les exemples et aucun d'eux n'a fonctionné (oui, J'ai mis l'URL de mon formulaire et tout et j'ai remplacé le nom par le nom de la feuille de calcul).

L'erreur que j'ai continué à recevoir après avoir rempli mes informations était TypeError: Cannot call method "getDataRange" of null. (line 8, file "Code"). Mais la feuille n'est pas vide et je le sais.

Existe-t-il une autre manière de faire fonctionner cela, ou une meilleure façon de potentiellement modifier les réponses des feuilles?

La seule façon de le faire maintenant est de manuellement revenir en arrière et soumettre à nouveau le formulaire en tant qu'utilisateur . C'est une sorte de douleur parce que c'est 10 minutes de cocher des cases et de copier-coller. De plus, hier soir, j'ai accidentellement sauté la copie d'un personnage et maintenant je devrais recommencer.

D'après ce que j'ai vu en ligne, cela peut être fait, mais rien de ce que j'ai essayé ne fonctionne. Le formulaire est actuellement en ligne et accepte les réponses en ce moment. Toute solution est acceptable tant qu'il y aurait un moyen de modifier leurs réponses, soit avec un script ou un autre outil, donc je n'ai pas besoin de tout refaire manuellement moi-même.

13
InterLinked

Le code suggéré ici fonctionne, car je viens de l'essayer moi-même le 13 février 2017.

Voici les étapes que j'ai suivies pour que cela fonctionne

  • Tout d'abord, chargez votre formulaire comme si vous alliez modifier le formulaire.
  • Recherchez l '"identifiant de formulaire" de votre formulaire dans l'url de la barre d'adresse. Ça devrait ressembler a quelque chose comme ca:

https://docs.google.com/ .../forms/d/ 1ZIrWiRZQrUsz1y8OBoeB7AtCOM4Ax4FxAQm8xAR1OYo /modifier

  • L'identifiant dans cet exemple aurait donc été "1ZIrWiRZQrUsz1y8OBoeB7AtCOM4Ax4FxAQm8xAR1OYo"
  • Allez maintenant sur https://script.google.com
  • Remplacez tout le texte qui apparaît dans le Code.js section avec ce qui suit, APRÈS que vous l'ayez modifié et que vous ayez mis votre identifiant de formulaire à la place de YOUR_FORM_ID_HERE ci-dessous.

    function dumpEditResponseUrlsForYourForm() {
       // Change this next line to use the id of your form
       var myFormId = "YOUR_FORM_ID_HERE";
    
       var form = FormApp.openById(myFormId); 
       var formResponses = form.getResponses();
       for (var i = 0; i < formResponses.length; i++) {
         var formResponse = formResponses[i];
         Logger.log(formResponse.getEditResponseUrl());
       }
    }
    
  • Cliquez sur "Afficher | Journaux" sur la page Web de Google Script. Une fenêtre apparaîtra avec des liens vers les réponses de votre formulaire.
16
Brad Parks