Corps d'email affichant le résultat d'une formule matricielle
Bonjour,
Pour le compte d'une association, je souhaite automatiser l'envoi d'un email en utilisant Google Apps Script. Cet email doit indiquer les anniversaires dans la semaine à venir des membres de l'association.
Outilsen ligne et applications WebOutilsen ligne et applications Web
Les nom, prénom, année, mois et jour de naissance des membres figurent dans la feuille principale d'un fichier Google Sheets.
Une formule matricielle ARRAY_CONSTRAIN(ARRAYFORMULA(CHOOSECOLS(SORT(UNIQUE(FILTER(base!$A$2:$I$1000... dans la cellule B8 de la feuille annivs du même fichier retourne la liste des anniversaires des 7 prochains jours avec précision de l'âge et de la date de naissance des membres concernés. Exemple de résultat en B8 :
. Prénom_X NOM_X fêtera ses 34 ans le 20 juillet.
. Prénom_Y NOM_Y fêtera ses 19 ans le 21 juillet.
. Prénom_Z NOM_Z fêtera ses 32 ans le 25 juillet.
Voici ci-dessous le script utilisé. Il envoie bien les mails mais le corps de ces-derniers (message) affiche le texte "Range" au lieu de lister les anniversaires comme ci-dessus.
function bday_notif() {
let message = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("annivs").getRange("B8");
MailApp.sendEmail("me@gmail.com", "Anniversaires de la semaine", message);
}
Merci d'avance de vos bons conseils,
K.
Bonjour,
Vous y étiez quasiment, il faut juste récupérer la "valeur" de la Range (qui est un object complexe avec tout un tas de propriétés, Google ne sait pas laquelle vous souhaitez utiliser).
On utilise https://developers.google.com/apps-script/reference/spreadsheet/range?hl=fr#getValue()
Ce qui donne :
let message = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("annivs").getRange("B8").getValue();Merci saboh12617.
Ce changement dans le script permet désormais d'afficher le 1er anniversaire de la liste dans le corps du mail unique (destiné à moi seulement) mais pas la liste entière, c'est-à-dire :
. Prénom_X NOM_X fêtera ses 34 ans le 20 juillet.
au lieu de :
. Prénom_X NOM_X fêtera ses 34 ans le 20 juillet.
. Prénom_Y NOM_Y fêtera ses 19 ans le 21 juillet.
. Prénom_Z NOM_Z fêtera ses 32 ans le 25 juillet.
Comme si l'ensemble du résultat de la formule matricielle n'était pas pris en compte, seulement une partie.
Dois-je utiliser du calcul matriciel dans mon code JavaScript ? Je ne sais pas si c'est possible car je ne suis pas développeur et c'est mon premier script.
Merci,
K.