Voici une explication ligne par ligne :
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
On déclare dans une variable la feuille où l'ont souhaite travailler
SpreadsheetApp.flush();
Cette fonction permet de forcer Sheets à actualiser les formules, données de la feuille
var plageDates = sheet.getRange("A2:A" + sheet.getLastRow()).getDisplayValues().filter(function(row) {
return row[0] !== '';
});
Cette variable contient : les valeurs affichés dans la feuille "sheet", la plage A2:A + la dernière ligne de "sheet" filtrées pour ne conserver que les cellules où il y a des données.
var demain = Utilities.formatDate(new Date(new Date().getTime() + 24 * 60 * 60 * 1000), Session.getScriptTimeZone(), "dd/MM/yyyy").toString();
Là on créer la variable demain, qui est la date actuelle + 1 journée, au fuseau horaire de la session, au format dd/MM/yyyy et on le transforme en texte .
for (var i = 0; i < plageDates.length; i++) {
var dateCellule = plageDates[i][0];
On itère (càd on navigue sur chaque éléments d'une liste un à un, l'étape est représenté par "i") sur le nombre de dates issues de la feuille et on stocke chacun son tour chaque date dans une variable dateCellule
if (dateCellule === demain) {
On teste si dateCellule = demain et si oui on exectue ce qui suit, entre { ... }
Logger.log("envoi d'un email pour la ligne : "+(i+1));
Ceci est juste un log, quelque chose qu'on affiche dans la console pour vérifier le code, c'est une phrase + l'étape d'itération (i+1, si on ajoute un c'est que l'itération débute à 0 alors que les lignes du tableau à 1)
var message = 'Réservation pour demain';
var subject = 'mettre sujet ici';
var emailAddress = 'xxxxxxxxxxxxxxx@hotmail.com';
RAS ici, ce sont 3 variable contenant du texte fixe, d'ailleurs tu peux si nécessaire faire appel des données du tableau, imaginons que le nom de ton client soit en B, tu pourrais faire comme message :
var message = 'Une réservation est prévue demain, pour le client : '+sheet.getRange('B'+(i+1)).getValue();
Ainsi ça afficherai dans le mail le nom du client pour lequel tu as une réservation.
MailApp.sendEmail(emailAddress,subject, message);
Cette ligne envoi un email à une / plusieurs adresse, avec un sujet et un corps.