Voici une nouvelle astuce pour Google Sheets, permettant d’envoyer rapidement des e-mails prédéfinis depuis une feuille de calcul. Cette petite fonctionnalité va vous faire gagner en temps et en productivité, puisqu’elle va vous éviter d’aller taper vos mails manuellement, surtout lorsqu’il s’agit de mails récurrents et rébarbatifs liés à votre activité managériale ou opérationnelle.
Personnellement, je l’utilise afin d’informer mes collaborateurs que le planning de la semaine ou du mois est prêt. Planning que je partage avec eux de façon fragmentée, comme je l’explique dans ce tutoriel. Une fois le planning terminé, j’invite mes partenaires à le consulter et à me confirmer leur présence directement depuis Google Sheets, sans avoir à multiplier les tâches et les moyens d’information.
Voici la marche à suivre, relativement simple :
Créez votre newsletter
Ouvrez un nouveau document Google Sheets, puis entrez les adresses mail de vos futurs destinataires dans la première colonne. Ensuite, en face de chaque destinataire, tapez le message que vous voudriez envoyer à chacun :
Créez et lancez le script d’envoi de mails
Cliquez sur « Outils > Editeur de scripts » et copiez-collez le script suivant :
function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; // Tapez la première ligne à traiter var numRows = 2; // Tapez ici le nombre total de lignes à traiter var dataRange = sheet.getRange(startRow, 1, numRows, 2) // Fetch values for each row in the Range. var data = dataRange.getValues(); for (i in data) { var row = data[i]; var emailAddress = row[0]; // 0 si les mails sont dans la première colonne var message = row[1]; // 1 si le message se situe dans la seconde colonne var subject = "Objet de votre mail"; // Tapez l'objet du mail que vous allez envoyer MailApp.sendEmail(emailAddress, subject, message); } }
Enregistrez le script. Lorsque vous aurez besoin de notifier les destinataires de votre mail, vous n’aurez plus qu’à cliquer sur « Editeur de scripts », puis à sélectionner « SendEmails » la liste des fonctions (surtout si vous avez d’autres fonctions dans votre éditeur), puis à cliquer sur le bouton « run » (en forme de bouton play).
Google vous demandera d’autoriser la fonction, puis les e-mails seront alors envoyés aux destinataires paramétrés dans votre tableau.
Dans le cas d’un planning : être notifié de la confirmation des destinataires
Si vous souhaitez tout comme moi utiliser ce script pour envoyer un planning à vos collaborateurs, vous pouvez également inviter ces derniers à taper « OK » dans leur planning afin qu’ils le confirment. Et pour que vous soyiez notifié de leur confirmation,il faut vous rendre dans les plannings de chacun, et que vous cliquiez sur « Outils > Règles de notification ».
Je vous conseille de cocher la case « être informé des modifications qui sont apportées », ainsi que « E-mail (résumé quotidien) », afin d’avoir un mail englobant plusieurs confirmations et pas un mail à chaque fois que quelqu’un confirme le planning.
Source : Google Developers.
Réponses 7
Bonjour, merci pour ce script.
Je cherche quelque chose de particulier, et je n’arrive pas à trouver : pouvez-vous m’aider ?
En fait avec le même principe, je voudrais envoyer une liste de mails depuis sheet, mais en précisant une date d’envoi (qui peut être différente pour chaque email), avec une récurrence (tous les mois par exemple). Est-ce possible ?
Merci, Cordialement.
Bonjour ! super script merci ! est il possible que le script détecte le nombre de lignes qui contiennent un e-mail ?(pour eviter d’avoir un message d’erreur si il y a des lignes vide)
Bonjour,
Je reçois cette erreur:
Invalid email: test (line 13, file « Code »)
Comment puis-je faire?
Merci!
Bonjour
suite à votre explication, je souhaiterais envoyer le fichier complet (Fichier de demandes de congés).
Ce fichier partirait à 4 personnes : 3 personnes + la personne qui créer la demande.
serait il possible d’avoir le code pour faire l’envoi du fichier complet
Merci pour votre aide
Je souhaiterai creer un message automaitique de rappel pour le reporting de certains données à partir de
différentes feuilles de calcul dans un même classeur
à differentes personnes adresses
differentes mensuelle ok
exemple
Merci de me renseigner les heures adresse 1
Merci de me renseigner les kilometrages adresse 2
Merci de me renseigner la consomamtion d’eau adresse 3
Bonjour, merci pour votre super boulot !
Est-il possible de conserver une certaine mise en page dans le messages (retour à la ligne, couleur, gras etc..) ou dois-je me contenter d’un simple texte?
Merci infiniment d’avance pour votre réponse,
Bien à vous,
Louis JAubert
Bonjour Louis
J’ai trouvé comment faire des sauts à la ligne mais reste à savoir comment faire le reste de la mis en page. Par ex, le texte est comme serrer dans une colonne non visible, il ne s’étend pas sur la largeur de la page message gmail.
pour un saut à la ligne insérer la commande \n\n entre des apostrophes
voila ma ligne de commande
var message = Bonjour + ‘\n\n’ +message1 + ‘\n\n’ + politesse + ‘\n\n’+ signature;