Magazine Emarketing

Formulaires Google : comment recevoir les données par email

Publié le 11 février 2014 par Choblab

Créer un formulaire via Google Drive est un jeu d’enfant, mais les fonctionnalités semblent parfois un peu basiques. Comment recevoir en temps réel les données saisies par les utilisateurs ?

Les formulaires Google représentent un des outils gratuits et pratiques que j’utilise le plus au boulot. Il est simple d’usage et extrêmement rapide à déployer sur un site Intranet ou Internet. Les données sont facilement récupérables et exploitables sur un tableur Excel, on peut les partager avec des collègues, bref l’efficacité à la Google.

Sondages, questionnaires et inscriptions à un événement constituent mes principales utilisations. Une question revient souvent : comment être informé à chaque fois qu’un formulaire est validé ?
Beaucoup d’entre vous connaissent la fonction Notification : vous recevez, immédiatement ou une fois par jour, un email vous informant de l’envoi d’un formulaire. Il existe même quelques options pratiques comme le montre la copie d’écran ci-dessous.

notif-google-forms

C’est bien beau mais je ne reçois qu’un message et je dois cliquer sur le lien pour accéder aux infos saisies par les utilisateurs. C’est nul !

Comment recevoir les données par email

C’est là que les scripts de Google viennent compléter les fonctionnalités un peu basiques de l’outil.

Reprenons étape par étape

1. Créer un formulaire sur Google Drive comme ci-dessous

2. Ouvrez le tableau des réponses créé automatiquement, qui porte le même nom que votre formulaire suivi de (réponses)

notif-google-forms-reponses

3. Cliquer sur Outils, éditeur de scripts, choisissez « Créer un script pour => Projet vide«  : supprimer tout le contenu et le remplacer par le code ci-dessous.

 /* Send Form by Email */
 /* For customizations, contact the developer at [email protected] */
 /* Tutorial: http://www.labnol.org/?p=20884 */
 function Initialize() {
 var triggers = ScriptApp.getScriptTriggers();
 for(var i in triggers) {
 ScriptApp.deleteTrigger(triggers[i]);
 }
 ScriptApp.newTrigger("SendGoogleForm")
 .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
 .onFormSubmit()
 .create();
 }
 function SendGoogleForm(e)
 {
 try
 {
 // You may also replace this with another email address
 var email = Session.getActiveUser().getEmail();
 // Optional but change the following variable
 // to have a custom subject for Google Docs emails
 var subject = "Google Docs Form Submitted";
 var s = SpreadsheetApp.getActiveSheet();
 var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
 var message = "";
 // Credit to Henrique Abreu for fixing the sort order
 for(var i in headers) {
 message += headers[i] + ' :: '+ e.namedValues[headers[i]].toString() + "\n\n";
 }
 message += "Sheet URL :: " + SpreadsheetApp.getActiveSpreadsheet().getUrl() + "\n";
 // This is the MailApp service of Google Apps Script
 // that sends the email. You can also use GmailApp here.
 MailApp.sendEmail(email, subject, message);
 } catch (e) {
 Logger.log(e.toString());
 }
 }
 /* For support, contact [email protected] */

4. Enregistrer en donnant le nom de votre choix au projet.
5. Cliquer ensuite sur Exécuter => Initialize et accepter la demande d’autorisation proposée sur l’écran suivant

C’est fini ! Vous recevrez dorénavant un message avec l’ensemble des données saisies.

notif-google-forms-reponses-email

Source : ce billet est une traduction/adaptation de l’excellent billet d’Amit Agarwal, auteur émérite de l’excellent blog Labnol que je vous recommande chaleureusement !

Lire aussi sur ce sujet


Retour à La Une de Logo Paperblog

A propos de l’auteur


Choblab 4920 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte