Google Apps Script est un outil puissant pour automatiser les applications Google Workspace comme Sheets et Docs. L'envoi automatique d'e-mails en fait un allié indispensable pour booster votre productivité.
Que vous soyez employé souhaitant alerter votre manager avec des calculs automatisés, ou manager distribuant des rapports de performance à votre équipe, ce tutoriel vous guide pas à pas. Économisez des heures grâce à une configuration unique.
Avec un effort initial minimal, laissez Google Apps Script devenir votre assistant personnel et automatisez l'envoi de données sensibles ou récurrentes.
Commencez par préparer une feuille dédiée contenant les noms, adresses e-mail et messages personnalisés. Dans cet exemple concret, j'utilise une feuille import ant des données Google Analytics pour compter les articles publiés par auteur et notifier chacun individuellement.
Créez une nouvelle feuille nommée « Envoyer des e-mails » dans votre Google Sheets.

Cette feuille structure chaque ligne comme un e-mail : colonnes pour nom, e-mail, et segments de message assemblés dynamiquement par le script.

Adaptez la taille et la structure selon vos besoins, en combinant texte statique et formules dynamiques tirées d'autres feuilles.

Les cellules statiques restent fixes ; les dynamiques s'actualisent via des fonctions comme IMPORTRANGE ou QUERY.

À l'ouverture de votre rapport mensuel, un menu personnalisé déclenchera l'envoi. Découvrez comment ci-dessous.
Votre feuille finale ressemble à ceci :

Passons au script !
Accédez à l'éditeur via Outils > Éditeur de scripts.

Créez une nouvelle fonction et collez ce code Apps Script corrigé et optimisé :
function sendArticleCountEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName('Envoyer des e-mails'));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange('A2:F4');
var data = dataRange.getValues();
for (var i = 0; i < data.length; i++) {
var rowData = data[i];
var emailAddress = rowData[1];
var destinataire = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var parametre2 = rowData[4];
var message3 = rowData[5];
var message = 'Cher ' + destinataire + ',\n\n' + message1 + ' ' + message2 + ' ' + parametre2 + ' ' + message3;
var subject = 'Votre article compte pour ce mois';
MailApp.sendEmail(emailAddress, subject, message);
}
}Ce script est simple et robuste. Décomposons-le pour une compréhension experte.
Activez d'abord la bonne feuille :
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName('Envoyer des e-mails'));Extrayez les données :
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange('A2:F4');
var data = dataRange.getValues();Parcourez les lignes :
for (var i = 0; i < data.length; i++) {
var rowData = data[i];
// Accès : rowData[0] = nom, rowData[1] = e-mail, etc.
}Assemblez le message avec \n pour sauts de ligne :
var message = 'Cher ' + destinataire + ',\n\n' + message1 + ' ' + message2 + ' ' + parametre2 + ' ' + message3;Envoyez via MailApp.sendEmail(). Personnalisez sujet et corps à l'infini.
Dans l'éditeur, modifiez ou ajoutez la fonction onOpen :
function onOpen() {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Envoyer des e-mails', functionName: 'sendArticleCountEmails'}
];
spreadsheet.addMenu('Automatisations', menuItems);
}
Un clic suffit pour tout envoyer. Testez toujours en mode aperçu !
Ce tutoriel illustre l'automatisation d'un rapport Analytics, mais étendez à bien plus : imports automatisés, dashboards... L'investissement initial paie des heures libérées. Partagez vos astuces en commentaires !
[]