Script pour Appeler contenu cellule dans mail

Bonjour à tous,

Je suis un grand débutant sur GAS, et j'aimerais développer certaines fonctionnalités qui demandent quand même un minimum de compétence.

Sur Sheet, j'ai créé une fiche avec tout plein de stats et d'indicateurs qui évoluent en fonction de différentes saisies sur un fichier Google form.

J'aimerais que chaque dimanche, les participants reçoivent un mail automatiquement avec le lien de la fiche.

Jusque là, j'ai réussi à tout mettre en place (j'avais trouvé un script de Jean Pierre Jourdan, super boulot partagé par ce monsieur, merci à lui).

Là ou cela se complique, c'est que j'aimerais que des éléments de la feuille de calcul apparaissent dans le corps de mail... Et là, c'est le drame.

J'y ai passé des heures, mais mes compétences ont atteint leur limite. J'ai besoin d'aide.

Que dois-je ajouter dans le script pour faire apparaître des contenus de cellules dans le corps du mail?

Merci de m'avoir lu et merci d'avance à ceux qui sauront m'aider !

François

Bonjour,

Peux-tu partager une copie simplifiée de ton projet ?

En attendant, voici une possibilité d'écrire en html

function tableHTML(data){
  var tableformat = 'cellspacing="2" cellpadding="2" border="1" style="border-collapse:collapse;border:1px solid #ccc;text-align:center;'
  var htmltable = '<table ' + tableformat +' ">';
  for (row = 0; row<data.length; row++){
    htmltable += '<tr>';
    for (col = 0 ;col<data[row].length; col++){
      if (data[row][col] === "" || 0) {htmltable += '<td>' + ' ' + '</td>';} 
      else
        htmltable += '<td>' + data[row][col] + '</td>';
      }
      htmltable += '</tr>';
    }
  htmltable += '</table>';
  return htmltable
}

avec dans ce cas, pour l'envoi du mail en htmlbody

  // Envoi email avec fichier attaché 
    GmailApp.sendEmail(email, objet, corps, {
      htmlBody: corps,
    });

Bonjour,

Haha tu es sur tous les fronts Mikhail :-) Merci à toi !

Alors, j'ai pas vraiment de fichier allégé, je devrais en fabriquer un, et je le ferai si besoin. Mais en somme, l'objectif est simplement d'obtenir un mail avec des infos tirées de la feuille directement dans le corps de mail.

Imaginons que dans la cellule "C4" il soit écrit : "15%", j'aimerais que dans le corps de mail apparaisse la phrase : "Tu en es à 15%". Attention, pas en pièce jointe, mais bien dans le corps de mail.

Pour le moment j'ai ce script (JP Jourdan) : https://docs.google.com/document/d/1WSgm3xYzz8e-nOmqotfdS6gbaIEzlHP-2YtM-TGSf9k/edit

Au plaisir de te lire,

Désolé, j'attendrai le fichier sheets.

Bien sur,

Voici une fiche test faite à la va vite, en reprenant les éléments mentionnés : https://docs.google.com/spreadsheets/d/1GNHmDyEBIA6CXf-EuFVQgg3P_mW35_suAOhW_w9htkM/edit?usp=sharing

Ajoute

var pourcent = sheet.getRange('B7').getDisplayValue()

ici

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var pourcent = sheet.getRange('B7').getDisplayValue()

puis appelle pourcent où tu veux dans le message en insérant

par exemple

var body = "Bonjour,\n\nFaisons un point sur tes progrès de "+ pourcent +". \nPour cela, accède à ta fiche de suivi personnalisée en cliquant ici :\n" + ss.getUrl() + '».' ;

Merci beaucoup pour ton retour.

Pour une raison que j'ignore, quand je suis tes indications, impossible "d'exécuter" le script.

Le journal d'exécution indique : "13:50:54 Avis Exécution démarrée" puis cela mouline non-stop ...

EDIT : Oh non c'est bon, finalement ça a fonctionné ! MILLE MERCIS c'est vraiment génial. Mikhail tu es top !

J'imagine que si je souhaite faire la même chose avec d'autres cellules, je peux faire la même manipulation en changeant simplement le "code d'appel" ? Par exemple, pour une autre cellule, au lieu de l'appeler "pourcent", je peux l'appeler "progression", ou autre ?

tu as tout compris ... tu seras autonome !

Olala, tu ne te rends pas compte à quel point tu m'as aidé ces derniers jours. Merci de tout coeur, vraiment !

Bonne journée et à bientôt !

Rechercher des sujets similaires à "script appeler contenu mail"