Automatisation envoies mail

Bonsoir à tous,

Je serais à la recherche d'une solution qui me permettrait d'envoyer par mail une feuille google sheet personnalisée de manière automatisée.

L'idée serait (dans le fichier ci dessous) de personnaliser la feuille "test" en y mettant le 1er prénom de la liste présente dans la feuille "noms" et de l'envoyer en format PDF à l'adresse mail correspondante au prénom. Un fois réalisée, il faudrait faire la même chose pour le 2ème prénom, le 3ème et ainsi de suite.

Merci par avance pour vos idées.

https://docs.google.com/spreadsheets/d/1Aoj8pKt2SFrehBpjlHLrM75AhzowybbqY7KYU9HAF0E/edit#gid=0

Bonjour,

Voici un code permettant d'exporter en PDF + envoyer un mail :

function savePDF()
{
// Selection de la feuille à PDFiser
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

//générer URL de la feuille
    var ssUrl = ss.getUrl();
    var sheetId= sheet.getSheetId();

    var url = ssUrl.replace(/\/edit.*$/,'') // ici sont indiquées les caractéristiques de l'impression PDF, il necessite d'adapter les marges, orientation en fonction de vos données.
      + '/export?exportformat=pdf&format=pdf'
      + '&size=A4'
      + '&portrait=true'
      + '&fitw=true'
      + '&top_margin=-0.95'
      + '&bottom_margin=0.50'          
      + '&left_margin=0.50'             
      + '&right_margin=0.50'           
      + '&sheetnames=false'
      + '&printtitle=false'
      + '&pagenum=false'
      + '&gridlines=false'
      + '&fzr=FALSE'
      + '&gid='+sheetId;

  // Création du nom du PDF, dans mon cas une cellule située en A6, vous pouvez y mettre un nom directement, ou bien un autre celulle.
  var docName =  sheet.getRange('A6').getValue();
// CRÉER LE PDF A PARTIR DE L'URL
  var token = ScriptApp.getOAuthToken();
  var docurl = UrlFetchApp.fetch(url, { headers: { 'Authorization': 'Bearer ' +  token } });
  var pdf = docurl.getAs('application/pdf').setName(docName);
  var file = DriveApp.createFile(pdf);

  // enregistrement du PDF dans le Drive
  var folder = DriveApp.getFolderById(""17LmzDRdzPpH3zt_4rufGLnGXbBWbQNo5"");/* Important ! > Ici on doit mettre l'adresse du dossier drive où on veut sauvegarder le PDF, allez dans votre dossier et dans la barre d'URL en haut copier le code qui ressemble à ça : 0AGuVhN09TP00Uk9PVA */
  var finalFile = file.moveTo(folder);
  var docUrl = finalFile.getUrl();

  // Envoi du PDF par mail
  var demandeurEmail = sheet.getRange('F5').getValue(); /* ici l'adresse mail de mon destinataire se situe dans une cellule, il est possible de changer directement l'information, ou de mettre une autre cellule */
  var message = ""Bonjour""+""<p>Ci-joint le ""+docName+""</p>""+""<a href='""+docUrl+""'>Cliquez ici pour ouvrir le recap.</a>""; // texte du mail
MailApp.sendEmail({to:demandeurEmail , subject: """"+docName, htmlBody:message}) ;

 // facultatif, cela sert à confirmer à l'utilisateur que le mail à  bien été envoyé
 var demandeur = ""Prénom NOM""; // nom du destinataire
 var ui = SpreadsheetApp.getUi(); 
 ui.alert(""Le ""+ docName +"" a bien été créé\n et été envoyé à ""+ demandeur +"" "");
}
}

Merci infiniment pour le temps que vous m'avez consacré.

Je vais tester tout ça et reviendrai vers vous pour vous donner le résultat.

Rechercher des sujets similaires à "automatisation envoies mail"