Envoie d'un tableau par mail

Bonjour ,

J'aimerais envoyer une partie d'un tableau par mail en utilisant un script.

L'adresse mail se situe en a1

Le message en a2 et A3

le tableau a6:aa25

Merci

Bonjour,

Voici un modèle de script à adapter :

function envoiMail() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('nom de la feuille');
  const lastRow = sheet.getLastRow();
  const plage = sheet.getRange('A1:Z'+lastRow);  
  const mail = 'ceciestuneadressemail@gmail.com, autremail@gmail.com';
  var message = "Bonjour<p> Voici les informations contenues dans la plage <p><p> "+plage.getValues();
  MailApp.sendEmail({to: mail , subject: "ceci est l'objet du mail", htmlBody:message}) ;}

Bonjour

Je ne comprends pas cela ne fonctionne pas

J'ai bien remplacé le nom de l'onglet puis les numéros de la plage et l'adresse mail dans const mail

J'ai une erreur "exception:limit exceeded:email body size"

Peux tu coller le script ici ?

function envoiMail() {

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('nom de la feuille');

const lastRow = sheet.getLastRow();

const plage = sheet.getRange('A1:Z'+lastRow);

const mail = 'j'ai mis mon adresse mail mais ce n'est pas un gmail';

var message = "Bonjour<p> Voici les informations contenues dans la plage <p><p> "+plage.getValues();

MailApp.sendEmail({to: mail , subject: "ceci est l'objet du mail", htmlBody:message}) ;}

Alors, dans mon fichier initial la plage est de A1:Z, mais il faut modifier avec tes données réelles...si je reprends ton 1er message ça donne quelque chose comme :

function envoiMail() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('nom de la feuille');
  const plage = sheet.getRange('A6:AA25');  
  const mail = sheet.getRange('A1');
  var message = sheet.getRange('A2').getValue()+sheet.getRange('A3').getValue()+plage.getValues();
  MailApp.sendEmail({to: mail , subject: "ceci est l'objet du mail", htmlBody:message}) ;}

J'ai une erreur sur la ligne

MailApp.sendEmail({to: mail , subject: "ceci est l'objet du mail", htmlBody:message}) ;}

Il me mets

Erreur exception : invalide email: range

En effet j'ai fais une erreur, il faut remplacer :

  const mail = sheet.getRange('A1');

par :

  const mail = sheet.getRange('A1').getValue();

Ok j'ai bien reçu le mail

Mais maintenant j'ai un autre problème

Ce que je reçois n'est pas un tableau mais du texte

Dans ce cas il faut prévoir une boucle afin de générer un tableau HTML.

Le plus simple et le plus rapide est de faire une boucle sur tes données et les intégrer dans un tableau html (head : <tr> <th>Col 1</th><th>Col 2</th>.... </tr> puis body généré avec une boucle : <tr><td>item 1</td><td>item 2</td>.... </tr>

Sinon si tu veux te chauffer voici un tuto :

https://spreadsheet.dev/send-html-email-from-google-sheets

Rechercher des sujets similaires à "envoie tableau mail"