Renvoie mail d'alerte à un utilisateur une fois l'échéance est terminée

Bonjour à tous,

en fait je voudrais savoir si possible d'envoyer un mail d'alerte à un utilisateur une fois la date d'échéance est terminée sur la liste des tâches.

Merci d'avance !

Bonjour,

Oui à l'aide un script, qui se lance quotidiennement et vérifie si la date d'échéance = date du jour et si oui, lance un mail personnalisé.

Merci et comment faire ce script maintenant ?

Si votre fichier contient des données sensibles > partagez une trame ressemblant à votre fichier, avec quelques données tests. (au minima en lecture seule)

Si votre fichier contient aucune donnée sensible > partagez le en lecture seule ça suffit.

TâchesDate DébutDate FinUsers
Tache101/12/202309/12/2023Bill
Tache203/12/202307/12/2023Jon

Voici l'exemple que j'ai. je veux maintenant si on le 09/12/2023 , Bill sera alerté par mail pour sa fin d'échéance de sa tache1.

Merci !

Bonjour

moi je rajouterai une colonne avec oui ou non si date d'échéance < aujourdhui() après le code.

Plus élégant et plus court certainement, les plus pro que moi corrigeront mais c'est déjà une base.

function MailEcheance() {

var Sheet = SpreadsheetApp.getActive().getSheetByName("Nomdetononglet");
var ColonneOui = Sheet.getRange("tacolonnedeoui");
var Mails = Sheet.getRange("tacolonnedemail");
var Noms = Sheet.getRange("tacolonnedenom");

    for(i=1 ; i< fin de ligne ; i++){
        if (donnée[i][1] == "oui"){
        var Mail = Mails.getCell(i,1).getValue();
        var Nom = Noms.getCell(i,1).getValue();
        var message = ("Bonjour "+Nom+",\n\nechéance blabla");
        MailApp.sendEmail(Mail, "ton titre", message);
    }
}

Alors en partant de cette base :

et en imaginant que dans Users il y ai des adresses mails (sinon où sont-elles ?)

TâchesDate DébutDate FinUsers
Tache101/12/202309/12/2023Bill@gmail.com
Tache203/12/202307/12/2023Jon@gmail.com
function alerteTache() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('METTRE ICI NOM FEUILLE');
  let now = new Date();
  let aujourdhui = Utilities.formatDate(now, 'GMT+2', 'dd/MM/yyyy');
  let data = sheet.getRange('A2:D' + sheet.getLastRow()).getValues();

  for (i=0;i<data.length;i++) {
    let dateData = new Date(data[i][2]);
    let dateFinTache = Utilities.formatDate(dateData, 'GMT+2', 'dd/MM/yyyy');
     if (dateFinTache === aujourdhui) {
      MailApp.sendEmail({
        to: data[i][3],
        subject: 'Échéance tâche : ' + data[i][0],
        body: 'Bonjour, l\'échéance de la tâche ' + data[i][0] + ' se termine ce jour'
      });
    }
  }
}

Vraiment un grand merci à vous, le problème a été réglé.

Bonjour Pierre, je voudrais juste savoir si on pourra envoyer le mail 2 jours avant la date d'échéance, comment faire?

Merci d'avance !

Bonjour,

Dans ce cas il faut retirer 2 jour à la date de fin de tache, de cette manière :

    let dateData = new Date(data[i][2]);
    dateData.setDate(dateData.getDate() - 2);
    let dateFinTache = Utilities.formatDate(dateData, 'GMT+2', 'dd/MM/yyyy');

Merci encore !

Rechercher des sujets similaires à "renvoie mail alerte utilisateur fois echeance terminee"