Un besoin fréquent
Un de vos collègues vous a-t-il déjà demandé comment envoyer automatiquement un email lorsqu’une case est cochée dans une ligne de feuille de calcul ?
La solution
C’est possible grâce à quelques lignes de script et un déclencheur dans Google Sheets.
Fonctionnement
- Le déclencheur: Il surveille l’événement de case cochée et lance le script.
- Le script: Il vérifie si la case cochée se trouve dans la colonne D.
- Si oui:
- Un message d’avertissement demande à l’utilisateur s’il souhaite envoyer l’email.
- Si l’utilisateur clique sur « Oui »:
- Le script extrait la valeur de la colonne B (l’adresse email) de la même ligne que la case cochée.
- Il envoie un email avec l’objet et le corps du texte définis dans le script.
- La date d’envoi est inscrite dans la colonne F et « Email envoyé » dans la colonne G de la ligne sélectionnée.
Avantages:
- Gain de temps et d’automatisation
- Suivi des emails envoyés
Mise en place :
1.Collez le script ci-dessous dans l’éditeur de scripts de Google Sheets
function onEditDeclencheur(e) {
Logger.log(e.value) //Enregistrer la valeur de e.value dans la log
if(e.value=="TRUE"){
// Declaration des variables
var ui = SpreadsheetApp.getUi()
var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var fuseauHoraire = Session.getScriptTimeZone();
// Alerte utilisateur
var resultat = ui.alert('[Découvrir Google Workspace]','Envoyer un courriel ?',ui.ButtonSet.YES_NO)
// Si l'utilisateur approuve
if(resultat==ui.Button.YES){
var email = feuille.getRange("B"+e.range.getRow()).getValues(); // Récupération de l'e-mail de la colonne B de la ligne éditée
Logger.log("Emailing "+email[0]) // Enregistrer le courriel dans la log
feuille.getRange("F"+e.range.getRow()).setValue(Utilities.formatDate(new Date(), fuseauHoraire, "dd/MM/yyyy")); //Inscription dans la colonne F que la dernière date d'envoi du mail
feuille.getRange("G"+e.range.getRow()).setValue("Email envoyé"); //Inscription dans la colonne G que le courriel a été envoyé
// Envoyer le courriel
MailApp.sendEmail({
to: email.toString(),
subject: "Objet générique", // Objet ici
name: "Votre nom", // Votre nom ici
body: "Corps du courriel générique", // Corps du courriel ici
})
Logger.log("Envoyé") //
}
Logger.log("Mot déclencheur "+e.value+" compléter") //
}
}
- Créez un déclencheur:
- Allez dans Outils > Script d’application > Déclencheurs.
- Cliquez sur Ajouter un déclencheur.
- Sélectionnez Fonction comme source d’événements.
- Choisissez onEdit comme fonction.
- Sélectionnez Cochez une case comme type d’événement.
- Enregistrez le déclencheur.
Personnalisation :
- Modifiez l’objet et le corps du texte de l’email selon vos besoins.
- Adaptez le script si vous souhaitez envoyer des informations supplémentaires dans l’email.
Conclusion:
En quelques lignes de script et un déclencheur, vous pouvez automatiser l’envoi d’emails à partir de cases cochées dans Google Sheets. Cette solution simple et efficace vous fera gagner du temps et vous permettra de mieux suivre vos communications.
Note:
- Assurez-vous que le script est activé.
- Testez le script en cochant une case dans la colonne D.
Ressources utiles:
- Documentation Google Apps Script: https://developers.google.com/apps-script/
- Tutoriel vidéo: https://www.youtube.com/watch?v=IRaQnqA_QV8
N’hésitez pas à me contacter si vous avez des questions ou si vous souhaitez des modifications.