Comment envoyer automatiquement un courriel lorsqu’une case est cochée ?

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

  1. Le déclencheur: Il surveille l’événement de case cochée et lance le script.
  2. Le script: Il vérifie si la case cochée se trouve dans la colonne D.
  3. 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") //
  }
}
  1. 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:

N’hésitez pas à me contacter si vous avez des questions ou si vous souhaitez des modifications.

Laisser un commentaire