vendredi 23 mars 2012

Google Formulaire, recevoir un email avec les réponses automatiquement

83 commentaires

EDIT : Publication du script en fin de billet, comme la galerie des scripts a été supprimée !
Lorsque l'on crée un Formulaire sur Google Docs les informations sont bien stockées mais de base il n'est pas possible de recevoir un email à chaque fois qu'une personne répond. Pour remédier à cela le Script Form to e-mail permet de recevoir un email avec les réponses à chaque fois qu'une personne répond.
Ordre des questions et réponses
Le script va lire dans la feuille de calcul Google Spreadsheet l'entête de chaque colonne et envoyer la réponse associée.
Dans le cas ci-dessus la première question dans l'email sera "Question 1". Deux remarques :
  • Si on déplace les colonnes de la spreadsheet cela modifiera l'ordre des questions dans l'email.
  • Si on ajoute une question au formulaire et qu'on la déplace dans le formulaire pour qu'elle soit par exemple en première position. Si dans la spreadsheet elle est en dernière position, cette question sera la dernière de l'email.
Dans le script il faudra préciser son email et la nom de la feuille contenant les résultats. Celui-ci doit être par défaut "Feuille1" normalement.
Créer un déclencheur
Pour que cela fonctionne il faut créer un déclencheur "On form submit".

On créera aussi une règle de "notification" pour recevoir un email si il y a une erreur lors de l'exécution du script.

Tutorial
Dans la vidéo ci-dessous toutes les étapes à suivre pour ajouter ce script à votre formulaire et ainsi recevoir un email à chaque validation du Google Form.


Le script:
function FormEmail(e) {
  //Information : http://justdocsit.blogspot.com/2012/03/google-formulaire-recevoir-un-email.html
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var email = "EMAIL"; //Remplacer EMAIL par votre email | Replace EMAIL by your email
  var sheetform = ss.getSheetByName("Feuille1"); //Feuille1 = nom de la feuille qui contient les résultats | Name of the sheet which contains the results
  //Replace Feuille1 if the sheet have another name.
  var i = 0; var html = "";
  try{
  while(sheetform.getRange(1,2+i).getValue() != ""){
    //L'ordre des questions dans l'email correspond à l'ordre des colonnes dans la feuille
    //The questions order in the email will be the order of the column in the sheet
    html = html + "<p><b>Q : </b>" + sheetform.getRange(1,2+i).getValue() + "<br>";
    html = html + "<b>R : </b>" + e.namedValues[sheetform.getRange(1,2+i).getValue()] + "</p>";
    i++;
  }
  }catch(e){
    //Si le script rencontre une erreur un email est envoyé.
    //If the script encounter an error an email is sent.
    MailApp.sendEmail(email, "Erreur lors de l'envoi des réponses du formulaire " + ss.getName(),e.message);
  }
   MailApp.sendEmail(email, "Nouvelle réponse à votre formulaire " + ss.getName() + " @ "+ e.values[0], html,{htmlBody: html});
}
A copier/coller dans l'éditeur de script, Menu "Outils" puis "Editeur de Script".

Crédit image

83 Responses so far

  1. Anonyme says:

    Hi Stephanie,


    I tried using your google form send script, but I got this error message:

    Cannot read property "namedValues" from undefined. (line 21).

    Do you know what is wrong?

    All the best,


    Laerte/ljs2905(@) gmail

  2. st3ph says:

    Hi

    You don't modify the sheet name in the script. Action done at 01:00 on the vidéo. I imagine the name of your sheet is Sheet1 instead ok Feuille1 for french user ;-)

  3. Anonyme says:

    Hi Stephanie,


    Never mind. Despite the error when running it in the script editor, I got the results all right. Great job!

    How can I indicate which form response fields I'm interest in?



    I also need something to break down an autentication code and return the code based values to the user.

    Ex.


    Authentication Code: 12312-453453-afasdfa-3453453

    Name: AAAAA
    Age: 34
    Country: CCCC
    City: DDDDD
    etc, etc

    The user will inform the code and the system has to break down its components and create the validation data table and display it to the user.

    That is, it will basically make the code user-friendly.


    All the best,

    Laerte / ljs2905 (@) gmail

  4. st3ph says:

    Great ;-)
    Just one thing it is Stéphane and not Stéphanie ;-)

    The script is built to work with all the form so you can't define the field you want to receive. For that you have to customize the code or may be someone create a script which do that ? I don't know
    For the second question you can also modify the script to send an email to the user and add piece of code for doing what you need but this have to be done by you.

    Last info to access column information you have to use the code e.values[x] where x is the number of the column. timestamp = 0.

  5. martynic says:

    Super ce script. Merci St3ph.

    J'ai aussi rencontré la même erreur, et il me semble que cela se produit lorsqu'il n'y a pas de réponse à des questions où l'on n'est pas obligé de répondre. Quoiqu'il en soit, en plus du message d'erreur, je reçois un message avec les réponses.

    A mon sens, rien à voir avec le nom de la feuille, ton tuto est très clair.

    martynic

  6. st3ph says:

    Merci pour ce retour, je vais regarder ce point. Cela me semble une bonne piste et il est probable que le programme ne gère pas cela mais bon il faut que je check.

    Stéphane

  7. st3ph says:

    J'ai controlé et pour moi ce n'est pas un souci de réponse obligatoire.

    J'ai un formulaire de teste et je ne génère aucune erreur. Tu n'as pas des caractères spéciaux dans les titres de tes colonnes ?
    Tu peux nous donner l'url de ton formulaire ?

    Stéphane

  8. Anonyme says:

    Bonsoir,

    Je pense trouver ce script bien pratique, mais faudrait-il que je réussisse à le faire marcher... voilà, quand je fais des tests sa m'envoie 2 messages: 1 où il est censé y avoir les réponses mais c'est tout blanc, et l'autre en message d'erreur m’indiquant "Impossible d'appeler la méthode "getRange" de null. " je en sais pas ce que çà veut dire...

  9. st3ph says:

    Bonjour

    Tu as bien vérifié que le nom de la feuille ou se trouve les résultats a été ajoutée dans le script ?
    Tu as bien créé le trigger ?
    Pour tester le script il ne faut pas lancer le script mais remplir le formulaire pour que le trigger s'enclenche et que les réponses soient envoyées.

    Stéphane

  10. Anonyme says:

    hm, qu'est ce que le trigger ? j'ai bien vérifier le nom de la feuille c'est correspondant

  11. st3ph says:

    Bonjour

    Tout est dans la vidéo.

  12. Anonyme says:

    Merci pour ce tuto, ça marche parfaitement!

  13. Yah ! says:

    Je souhaiterai savoir si l'on a la possibilité de mettre plusieurs destinataires ?

  14. Anonyme says:

    Bonsoir,

    Quand je teste le formulaire en ligne, je reçois maintenant dans le mail seulement une partie des questions et réponses alors que la feuille est totalement complétée ? Hier je n'avais pas ce souci mais entretemps j'ai supprimé des colonnes vides de la feuille et j'en ai déplacé également.

    Avez-vous une idée du problème ?

    Merci d'avance

    Anne

    Nanou

  15. st3ph says:

    Bonjour

    Tu n'as pas une colonne vide ( ou le titre en haut) dans ton fichier maintenant ?

    Stéphane

  16. laurent says:

    super tuto. Petite question. Est il possible de ne recevoir que les champs qui ont été remplis ? Merci

  17. Rabbit says:

    great script, works perfect. Is there a way to add the value of lets say the 3rd field in the form to the subject line of the email?

  18. Anonyme says:

    Salut,
    J'ai également le même problème que cité dans un précédent post. J'ai un mail tout blanc et un autre qui me dit: "Impossible d'appeler la méthode "getRange" de null."
    J'ai bien suivi le tuto en vidéo. Mais est-ce que cela peut être lié à mes noms de colonnes qui ont des caractères spéciaux, des accents et espaces blancs?
    Merci pour ta réponse.

  19. st3ph says:

    Bonjour

    Tu as vérifié le nom de la feuille ?

    Stéphane

  20. Anonyme says:

    Oui, le nom est bien identique entre la feuille et le script.

  21. st3ph says:

    Pour tester le script il faut programmer le trigger et remplir un formulaire et le valider.
    Tu as bien fait cela ?

    Stéphane

  22. Anonyme says:

    oui, j'ai suivi ton tuto vidéo

  23. st3ph says:

    Franchement je ne sais pas je viens de tout refaire sur un nouveau formulaire et j'ai bien reçu l'email.

    Pour la feuille tu as renommé la feuille spreadsheet en Feuille1 ou tu as changé la variable dans le script avec le nom de la feuille que google a créé.

    Stéphane

  24. Anonyme says:

    cela marche un peu près chez moi. je reçois un mail mais vide et en plus la même erreur que les autres, à savoir un soucis de getRange.

    J'ai bien tout vérifier de nombreuses fois.

    Une autre question : le mail est expédié par maestro.bounces.google.com : c'est quoi exactement ?

  25. st3ph says:

    maestro c'est l'expéditeur par défaut des scripts.

    Pour ton souci tu as bien nommer la feuille dans le script et tu testes bien le script en utilisant le trigger onsubmit en remplissant un formulaire et le validant.

    Stéphane

  26. olivier says:

    Salut j'ai le meme probleme a savoir la fonction get range qui ne viens pas.

    Pourrais tu me donner un coup de main.

    La feuille a bien le meme nom et le trigger est configurer correctement suivant le tuto.

    Merci.

  27. Thibault says:

    Bonjour,

    J'ai le même problèmes que vous autres...

    je cite le texte du mail : <>

    et et ca ne m'envoie aucun contenu dans le mail de notification que mon formulaire a été rempli....

    Il y a t'il une solution ?

    cdlt,

    Thibault

  28. olivier says:

    Je n'en trouve aucune pourtant j'ai suivi le tuto a la lettre

  29. st3ph says:

    Bonjour

    J'ai répondu sur le forum mais je ne vois pas je viens de faire un test avec le nouveau formulaire et ça a marché...
    Je reçois bien les réponses. Pour le nom de la feuille il faut respecter la casse et les accents.

    Stéphane

  30. olivier says:

    salut stephane je pourrais t'envoyer ma feuille de calcul pour voir si tu vois qqch de pas normal honnetement j'ai fais un copier coller du nom de la feuille dans le script je ne comprend pas.

    Je ne suis pas pourtant si nul que ça..

    J'espere que tu pourra me donner un coup de main.

    Merci

  31. olivier says:

    precision : Impossible d'appeler la méthode "getRange" de null.

  32. Unknown says:

    Dans la video on voit clairement , email= et sheetform =
    ce n'est pas le cas dans l'editeur de script, je ne vois pas ou modifier ces deux parametres.
    merci

  33. st3ph says:

    Bonjour

    Vous êtes bien allé dans l'éditeur de script et vous voyez du code ?
    Les infos sont lignes 4 et 5.

    Stéphane

  34. Unknown says:

    oui, je fais tools / script editor et ligne 4 et 5 j'ai:

    var slog = ss.getSheetByName("Log");
    var i =0; var body = ""; var corps = "";

    merci.

  35. st3ph says:

    Je ne sais pas quel script vous utilisez mais ce n'est pas le script form to email.
    Il y a en a peut plusieurs dans la spreadsheet il faut regarder sur la gauche ou dans les projets mais en tout cas le script form to email ne contient pas ces lignes.

    Stéphane

  36. Unknown says:

    merci, en effet j'utilisais la mauvaise feuille.

  37. Bonjour, mêmes erreurs que d'autres, j'ai suivi la vidéo également.
    Ma feuille s'appelle rep1 elle contient (Horodateur Name email Phone number Messages) et dans le script je met ce qu'il faut:

    var email = ".......@.....";
    var sheetform = ss.getSheetByName("rep1");

    Pour le déclencheur: FormEmail; a partir de la feuille de calcul;Formulaire en cours d'envoi puis notification Via ..... immediately.

    Et je reçois deux mail l'un avec comme objet erreur lors de l'envoi...: Impossible d'appeler la méthode "getRange" de null.
    L'autre avec comme objet Nouvelle réponse à votre formulaire rep1 qui est vide

    Je ne sais pas si vous avec trouvé comment régler ce problème, je peux même vous laisse prendre le contrôle du PC via Team viewer pour essayer de paramétrer comme il faut. Merci

  38. st3ph says:

    Bonjour

    Je suis désolé mais a chaque fois que l'on m'a remonte cette erreur c'était toujours la feuille qui était mal renseignée.

    Peut être faut il faire une ré installation ?

    Stéphane

  39. J'ai essayé de réinstallé, la première fois ma feuille s'appelait Materiel-PC et les colonnes avait des /, donc j'ai fait une nouvelle feuille avec le nom f euille1 pour ne rien changer dans le code sauf l’émail et modifier les colonnes pour qu'elles aient des noms simple sans caractères et la 3e fois j'ai mis un nom tout simple 'Rep1' et toujours la même erreur, comme je le dit vous pouvez venir sur mon pc voir directement via TeamViewer si vous l'utilisez. Sinon j'essayerais autre chose.
    Merci

  40. Julien says:

    Excellent script qui fonctionne parfaitement pour moi. Merci

  41. [Résolu] J'ai eu le même problème que certains : "Impossible d'appeler la méthode "getRange" de null."

    Et c'était bien le nom de la Feuille qui était fausse chez moi bien que ce soit configuré en Français, la feuille créée par Google Drive portait le nom : "Réponses de formulaire" et pas "Feuille 1"

    Donc :
    var sheetform = ss.getSheetByName("Réponses de formulaire"); //Feuille1 = nom de la feuille qui contient les résultats | Name of the sheet which contains the results

  42. Bonjour,
    Super, le script marche et la vidéo m'a bien aidé à l'installer.
    Mais maintenant, je cherche à générer un message automatique de confirmation à la personne qui valide le formulaire (j'ai prévu un champs où elle doit renseigner son adresse mail).
    Merci pour le coup de main.

  43. [resolu] j'ai eu le problème de "getRange" null
    en fait j'avais confondu le nom du fichier résultat avec le nom de la feuille contenu dans ce fichier (en bas à gauche)
    et bien sur je n'avais pas regardé la vidéo ;-)

  44. Anonyme says:

    J'ai aussi le même probléme de getrange null par mail et aussi un probléme détecter ligne 21.

    Merci

  45. Thomas says:

    Bonjour !

    Merci beaucoup pour ce tuto et le script ! Ca a marché du premier coup !


    Merci !

  46. charlotte says:

    Bonjour j'ai un soucie , je recois un message d'erreur :

    TypeError: Impossible de lire la propriété "values" depuis undefined.

    Je ne comprend pas, pourquoi car sur mon ancien formulaire cela fonctionnait tres bien .

    Merci d'avance

  47. Michel says:

    Bonjour, J'aimerais que le mail parvienne automatiquement à plusieurs destinataires. Ca marche en copiant le script mais y a t-il une façon plus simple avec un seul script et plusieurs adresses ?

  48. st3ph says:

    Bonjour

    Il faut séparer les emails dans le script avec des virgules (,).
    mail1,mail2,mail3, etc....

    Stéphane

  49. Michel says:

    Merci Stéphane,

    J'ai également cette erreur
    Impossible de lire la propriété "namedValues" depuis undefined avec une erreur à la ligne 21:
    MailApp.sendEmail(email, "Nouvelle réponse à votre formulaire " + ss.getName() + " @ "+ e.values[0], html,{htmlBody: html});
    Je n'ai change que l'adresse mail dans le script et ma page est bien "Feuille1".

    Si quelqu'un a une idée ou une solution. merci d'avance.
    MG

  50. Anonyme says:

    Bonjour,

    J'ai également cette erreur : Impossible d'appeler la méthode "getRange" de null.

    Voilà le lien vers mon questionnaire : https://docs.google.com/forms/d/1sM1FvoBol35dyosmfKR8rB4agpKkNlNNtaJq1YhiVdE/viewform

    Je ne sais pas comment faire, pensez vous que le fait que certaine case ne soit pas rempli provoque l'erreur ?


    Voici une partie de mon scrit :
    email = "romain.marsaly@sportspourtous.fr"; //Remplacer EMAIL par votre email | Replace EMAIL by your email
    var sheetform = ss.getSheetByName("Inscription Formation"); //F

    Merci pour votre aide.

  51. Gil Tafs says:

    Bonjour,

    Je recois comme retour "Impossible de lire la propriété "namedValues" depuis undefined." si quelqu'un a déjà resolu ce probleme, car je n'ai pas trouvé la solution ci dessus !.

    Merci
    GilH

  52. J'ai tout réinstallé, j'ai copié le nom de la feuille dansle code. J'ai installé tout correctement, mais ca me donne deux courriel dont l'un avec la mention: getRange erreur

    Que faire?

    https://docs.google.com/forms/d/1ePxjRZq1ZaxgkwPeZx7QyGFnvDZGrYZAfwV7m_cfoyU/viewform

  53. Anonyme says:

    Je recois que 2 questions/réponses sur 6. que dois-je faire pour visualiser la totalité des Questions / réponses ? Merci de votre aide
    Sinon Super script

  54. st3ph says:

    Bonjour

    Dans le tableau qui reçoit les réponses il n'y a pas une colonne sans titre avant les 4 dernières ?
    Si oui il faut supprimer cette colonne car cela bloque le script.

    Stéphane

  55. Hi Stéphane
    I am running in to the same '0' problem mentioned before. It seems to be the timestamp column?? In other languages that column might be named differently, but renaming it doesn't help me. The error email is working just fine. I don't understand enough French to know your other comments. From what i did make out I tried to 'fill up' all the columns in the sheet but that didn't help either. Does it make any difference if the form uses different pages to collect answers??
    The problem is mentioned in line 21, but the cause seems to be that 'e' has not been defined correctly in line 13
    Perhaps you can try to help me out a little more??

  56. st3ph says:

    Hi

    For testing the script do you run it by clicking on the play button in the apps script page or do you setup a trigger "on form submit" and fill ou a form and press validate at the end ?
    The sript will run properly if it is launch after the form is filled by the trigger.

    Stéphane

  57. Zwoofff says:

    bonjour et merci pour ce script bien pratique. Dommage pour la vidéo, mais Youtube est banni ici au boulot. J'ai tout de même réussi.
    Comment pourrait on avoir une couleur différente entre les Q et les R dans l'email que l'on reçoit?

    Merci

  58. Anonyme says:

    Est-il possible d'adapter ce script pour que la personne qui a rempli le questionnaire reçoive le résumé de ce qu'elle a répondu (sur une adresse mail demandée dans une question du formulaire) ?
    Merci

  59. Anonyme says:

    bjr

    Est-il possible :
    - de mettre les résultats en colonne au lieu de ligne comme actuellement ? (càd : une colonne par formulaire répondu)

    - d'ajouter des images (icones) dans les propositions de réponses

    d'avance merci

    cr

  60. st3ph says:

    Bonjour

    Pour les résultats dans une autre feuille de la spreadsheet tu mets a formule =transpose(plage de données avec les résultats du formulaire)

    Pour les images on ne peut pas le mettre dans les questions directement l'astuce est d'insérer une image avant la question avec par exemple trois logos et en dessous A, B, C
    Et juste après tu poses la question votre logo préféré A, B ou C

    Stéphane

  61. Anonyme says:

    merci pour =transpose et la rapidité de ta réponse...

    J'ai testé avec le nom de la feuille en entier avec "feuille!" car je ne sais pas sélectionner une plage d'une feuille à une autre

    Pour l'astuce pour les images, c une bonne solution
    (même si c pas parfait, c'est bien que google form accepte les images maintenant)

    cordialement

  62. SUPER ça marche... Merci Stéphane pour ce tuto complet.
    selon mon expérience récente, voici comment j'ai réglée le problème au message "Impossible de lire la propriété "xxxxxxx" depuis undefined.
    en 1, j'ai bien renommé ma page excel pour correspondre au script.. MAIS renommé en haut d'écran, ET AUSSI en bas d'écran... .
    ensuite j'ai constaté qu'il y avait réellement une colonne vide... il suffit de supprimer la feuille liée au formulaire et de regénérer une feuille de recueil de données. refaire le script et le déclencheur.. ( Cette colonne vide doit être sûrement crée en cas de modification du formulaire..)
    en

  63. Je viens de lire le mail que j'ai reçu.. et en fait j'ai 110 questions dans mon formulaire, mais pas de réponses obligatoires.. donc vous imaginez la longueur du mail....
    Y aurait il un script existant pour ne recevoir que les questions renseignées.. j'abuse peut-être ?
    Merci

  64. st3ph says:

    Tu vas dans le menu outil puis editeur de script

    avant la ligne 12 tu ajoutes :
    if(e.namedValues[sheetform.getRange(1,2+i).getValue()] != ""){

    puis avant i++; tu ajoutes :
    }

    Pas testé mais ca doit marcher.

    Stéphane

  65. Unknown says:

    Bonjour
    j'obtiens ce message d'erreur :
    TypeError: Impossible de lire la propriété "0" depuis undefined. (ligne 21, fichier "Code")

    Pourriez-vous m'expliquer ce que cela veut dire ?

    Merci

  66. Unknown du 21/02
    regarde mon précédent commentaire...

  67. Au sujet de ma question précédente pour ne recevoir que les QUESTIONS renseignées, la modif du script selon vos conseils ne fonctionne pas correctement.
    Merci quand même, je ne vais polluer plus votre fil

  68. st3ph says:

    j'ai repondu sur le forum on s'est mal compris

  69. Anonyme says:

    Bonjour pour ceux qui on une erreur :

    Feuille1 = nom de la feuille qui contient les résultats en bas à gauche de la feuille de calcul
    et pas le nom de la feuille en haut à gauche.

    Faire Clic droit sur le nom de la feuille de calcul en bas à gauche puis :

    - Copier

    ou

    - Renommer et copier pour coller dans le script à la place de "Feuille1"

  70. Anonyme says:

    I'd love to send the e-mail with the results to the e-mail adress of the person fillin in the form. Is this possible? If so: What should I do with var email?

  71. Anonyme says:

    Quelqu'un a t'il tester ce script avec plus de 50 champs dans le formulaire ?
    Pas sur que le script fonctionne dans ce cas.
    En effet le script risque de vous rejeter pour durée trop longue.
    En final, je ne pense pas que cela soit bien utile.

  72. Bonjour,
    J'ai utilisé ce mail pendant plus d'un mois je pense, depuis quelques jours je ne recevais plus de réponses par mail.
    Je me suis rendu compte que le script n'était plus enregistré ... :-(
    J'ai voulu le remettre, mais je je n'ai plus "script" dans l'onglet "insertion" .... Je ne trouve pas de solution ...

  73. st3ph says:

    Bonjour

    Je n'ai pas vérifié mais je crois que c'est un effet secondaire de l'arrivée des addons pour google spreadsheet.
    On n'a plus accès à la galerie des scripts. Et comme google controle les addons pour le moment je n'arriverai pas à pousser facilement mon ancien script. e que tu peux faire c'est ouvrir le script dans un ancien fichier qui contient le script et l'ajouter manuellement.

    Stéphane

  74. Voir ce lien https://productforums.google.com/forum/#!category-topic/docs-fr/qcicm5ncRh8 qui devrait vous éviter bien des problèmes.
    Le nom de la feuille n'a plus d'importance, juste votre mail à modifier.
    Question Réponse sur la même ligne

  75. Quelle différence il y a t-il entre cette méthode et le fait de créer des notifications sur le tableur ce que propose la nouvelle version de Google Tableur. Il suffit dés-lors de faire un formulaire puis de l'associer au tableur et enfin de créer la règle "m'avertir par mail si modification de cellule A1" ont- peut toujours rajouter un script de triage automatique pour garder toujours la même cellule !!! qu'en penses-tu stephane !

  76. Bonjour à tous, et merci pour ce super tuto qui fonctionne parfaitement.

    Je me permets de re-up deux petites questions qui ont été posées :

    1) Comment peut-on faire pour envoyer (quelle ligne faut-il rajouter et où) un email récapitulatif à la personne qui a rempli le formulaire ? (En considérant bien sûr que le questionnaire comporte un champ "votre email").

    2) Comment effectivement ne pas afficher les champs non renseignés ? Ce qui s'avère très utile pour les longs questionnaires (quelle ligne écrire, où la mettre ?)

    Merci par avance pour vos conseils!

    R

  77. [14-10-14 16:41:39:253 EDT] Démarrage de l'exécution
    [14-10-14 16:41:39:263 EDT] SpreadsheetApp.getActiveSpreadsheet() [0 secondes]
    [14-10-14 16:41:39:332 EDT] Spreadsheet.getSheetByName([Réponses]) [0,069 secondes]
    [14-10-14 16:41:39:333 EDT] Sheet.getRange([1, 2]) [0 secondes]
    [14-10-14 16:41:39:345 EDT] Range.getValue() [0,012 secondes]
    [14-10-14 16:41:39:348 EDT] Sheet.getRange([1, 2]) [0 secondes]
    [14-10-14 16:41:39:349 EDT] Range.getValue() [0 secondes]
    [14-10-14 16:41:39:425 EDT] Spreadsheet.getName() [0,074 secondes]
    [14-10-14 16:41:39:442 EDT] MailApp.sendEmail([swingnergie@gmail.com, Erreur lors de l'envoi des réponses du formulaire Inscription Ateliers Blues 2014 (réponses), Impossible de lire la propriété "namedValues" depuis undefined.]) [0,017 secondes]
    [14-10-14 16:41:39:443 EDT] Spreadsheet.getName() [0 secondes]
    [14-10-14 16:41:39:445 EDT] Échec de l'exécution du script : TypeError: Impossible de lire la propriété "values" depuis undefined. (ligne 21, fichier "Code") [durée totale d'exécution : 0.182 secondes]

  78. émilie g says:

    Bonjour,
    Je (re) pose la même question que plus haut.
    Est-il possible de recevoir par mail uniquement les champs complétés?
    Merci par avance

  79. Ce commentaire a été supprimé par l'auteur.
  80. Ce commentaire a été supprimé par l'auteur.
  81. Bonjour j'ai le meme probleme que la personne ci-dessus.

    Impossible de lire la propriété "namedValues" depuis undefined.

    Comment remedier a cela ?

    Merci d'avance

  82. voila le script d'execution

    [15-02-10 23:52:36:712 CET] Démarrage de l'exécution
    [15-02-10 23:52:36:723 CET] SpreadsheetApp.getActiveSpreadsheet() [0 secondes]
    [15-02-10 23:52:36:867 CET] Spreadsheet.getSheetByName([Réponses au formulaire 1]) [0,144 secondes]
    [15-02-10 23:52:36:868 CET] Sheet.getRange([1, 2]) [0 secondes]
    [15-02-10 23:52:36:903 CET] Range.getValue() [0,035 secondes]
    [15-02-10 23:52:36:912 CET] Sheet.getRange([1, 2]) [0 secondes]
    [15-02-10 23:52:36:913 CET] Range.getValue() [0 secondes]
    [15-02-10 23:52:36:987 CET] Spreadsheet.getName() [0,071 secondes]
    [15-02-10 23:52:37:365 CET] MailApp.sendEmail([coursecrac@aol.com, Erreur lors de l'envoi des réponses du formulaire Pré-inscription 2015 (réponses), Impossible de lire la propriété "namedValues" depuis undefined.]) [0,378 secondes]
    [15-02-10 23:52:37:365 CET] Spreadsheet.getName() [0 secondes]
    [15-02-10 23:52:37:376 CET] Échec de l'exécution du script : TypeError: Impossible de lire la propriété "values" depuis undefined. (ligne 21, fichier "Code") [durée totale d'exécution : 0.645 secondes]

  83. anonymous says:

    Bonjour,
    le script fonctionne bien mais... quand il marche. Il arrive souvent que le mail ne soit pas envoyé. C'est assez aléatoire, pourtant le formulaire n'est pas très sollicité (plusieurs heures entres 2 saisies de formulaire).
    Est il possible de comprendre pourquoi et s'il y a une solution ?

Leave a Reply