App Script --> Envoi email automatique Google sheets --> PDF

Bonjour à tous,

Je souhaiterai via App Script, programmer l'envoi automatique (exemple tout les jours à 12h, ou 30 min après chaque modification du fichier etc...) de l'onglet 1 de mon fichier google sheets à une liste de personnes via email.

Via le profil Gilbert_RGI (merci à lui d'ailleurs !), j'ai réussi à trouver sur le forum le code suivant :

function onOpen() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu('Envoi PDF OLEON');
var item = menu.addItem('Envoi en PDF','emailFeuilleDeCalculVersPDF');
item.addToUi();
}

/* Envoyer la feuille de calcul par courriel au format PDF */

function emailFeuilleDeCalculVersPDF() {
var ss = SpreadsheetApp.getActiveSpreadsheet();

var sh = ss.getSheets()[0]; //il enverra la feuille 0 qui est la première feuille du classeur.
// si vous changez le nombre, changez-le aussi dans les paramètres ci-dessous
var shName = sh.getName();

// Email réceptionant le PDF de cette feuille de calcul

var email = sh.getRange('V4').getValue();
var email = sh.getRange('V5').getValue();
// Obtenir l'URL de la feuille de calcul actuellement active (lien)
var feuille = SpreadsheetApp.getActiveSpreadsheet();

// Sujet du message
var sujet = "PDF généré depuis la feuille de calcul " + feuille.getName();

// Corps du mail
var corpsDuMessage = "<p>Bonjour,</p>Veuillez trouver en pièce jointe le PDF des relevés compteurs & analyses d'eaux.<p>Bonne réception, DALKIA</p>";

var contenant = DriveApp.getFileById(feuille.getId()).getAs("application/pdf");

contenant.setName(feuille.getName() + ".pdf");

// Si vous n'avez pas dépassé le quota, envoi du mail avec la pièce jointe en PDF.
if (MailApp.getRemainingDailyQuota() > 0)
GmailApp.sendEmail(email, sujet, corpsDuMessage, {
htmlBody: corpsDuMessage,
attachments:[contenant]
});
}

Ce code me permet donc d'envoyer manuellement mon fichier google sheet par mail aux adresses que j'ai renseignés en cellules V4 & V5.

Je souhaiterai donc l'améliorer pour programmer un envoi sans action humaine, tout les jours à 13h par exemple.

De plus, en utilisant ce code actuellement, celui-ci envoie par mail l'intégralité de tout mon classeur et non uniquement mon premier onglet.

Merci d'avance

Si je n'ai pas été assez clair, n'hésitez pas à revenir vers moi.

Baptiste

Bonjour,

Je ré-up le sujet, si qql peux m'aider...

Merci !

Bonjour,

Dans Google Apps script allez dans les déclencheurs et ajouter un déclencheur quotidien à heure fixe.

Bonjour,

Merci du retour, ok j'ai fait un essai pour voir...

Une idée concernant le code pour ne faire que l'envoi du premier onglet du fichier ?

Merci

Quand vous paramétrez le déclencheur, vous choisissez de lancer le code : "emailFeuilleDeCalculVersPDF" vu que dans celui ci vous avez déjà sélectionné le premier onglet avec votre variable var sh = ss.getSheets()[0]; ça devrait fonctionner.

Rechercher des sujets similaires à "app script envoi email automatique google sheets pdf"