Script pour notifier sous plusieurs conditions

Bonjour à tous,

J'essaie de faire un script Google pour notifier sous 2 conditions.

1ère condition "la présence d'un commentaire"

2ème condition "qui envoie ce commentaire"

et donc en fonction de la 2ème condition, notifier à la 1ère destination ou à la 2ème.

Je suis parti d'un script que j'avais déjà et j'en suis à ce code

function Notification() {
  var document = SpreadsheetApp.getActive();
  var f = document.getSheetByName('RE7');
  var derL = f.getLastRow();
  var c = 8; // H

  for (var i = 2; i <= derL; i++){
    if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && (f.getRange(i,7).getValue () =="zozo@gg.fr","hector@gmail.com")) {
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('1ère destination@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 1');

      if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && (f.getRange(i,7).getValue () == "oups2@gmail.com","oups@gmail.com")) { 
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('2ème destination@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 3');
      }
     } 
    } 
  }

je n'arrive pas à faire "else if" sur la 2ème condition, la notification est toujours envoyé à la 1ère destination et la preuve de l'envoie ne correspond pas aux critères que j'ai mis ou du moins pas toujours.

voici une capture d'écran des résultats obtenus

capture d ecran 2021 04 09 124723

Merci pour voter aide

Bonjour,

peux-tu mettre un lien vers un projet simplifié ? ce serait plus facile pour mettre au point le script et t'indiquer ce qui est à corriger

merci

Bonjour Mikhail Staliyevich

voici le lien:

https://docs.google.com/spreadsheets/d/1Kzghve3tucytUsMeFbRain9uLyA1fb2Cozt2kko5DJI/edit?usp=sharing

Ce n'est pas un projet simplifié vu que je me sert de ce compte pour faire des essais.

Merci pour ton aide

merci

je me fais une copie et je jettes un œil

pour faire un else if

function Notification() {

  for (var i = 2; i <= derL; i++){
    if ( condition1 ) {

    } else if ( condition2 ) { 

    }
  } 

} 

ce qui ferait (mais pas testé)

function Notification() {
  var document = SpreadsheetApp.getActive();
  var f = document.getSheetByName('RE7');
  var derL = f.getLastRow();
  var c = 8; // H

  for (var i = 2; i <= derL; i++){
    if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && (f.getRange(i,7).getValue () =="zozo@gg.fr","hector@gmail.com")) {
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('xxxxxxxxxxxxxxxxx@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 1');
    } else if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && (f.getRange(i,7).getValue () == "oups2@gmail.com","oups@gmail.com")) { 
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('autre adresse@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 3');
    }
  } 
} 

je ne suis pas du tout certain que ceci fonctionne !

(f.getRange(i,7).getValue () == "oups2@gmail.com","oups@gmail.com")

pour moi il faudrait mettre ceci

((f.getRange(i,7).getValue () == "oups2@gmail.com") || (f.getRange(i,7).getValue () == "oups@gmail.com"))

|| signifiant OU

Bonjour Mikhail Staliyevich

Merci pour ton aide. Je vais tester tout ça .

Merci pour ton aide Mikhail Staliyevich ça fonctionne!!

Est-ce que tu peux stp retirer mon adresse mail du code que tu m'as proposé afin de ne pas être embêter ? Merci.

Pour ceux que ça interesse voici le code

function Notification() {
  var document = SpreadsheetApp.getActive();
  var f = document.getSheetByName('RE7');
  var derL = f.getLastRow();
  var c = 8; // H

  for (var i = 2; i <= derL; i++){
    if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && ((f.getRange(i,7).getValue () == "hector@gmail.com") || (f.getRange(i,7).getValue () == "zozo@gg.fr"))) {
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('e-mail-1er-destinataire@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 1');
    } else if ( (f.getRange(i,c).getValue() != '') && (f.getRange(i,c+1).getValue() == '') && ((f.getRange(i,7).getValue () == "oups2@gmail.com") || (f.getRange(i,7).getValue () == "oups@gmail.com"))) { 
      //Browser.msgBox(f.getRange(i,c).getValue())
      GmailApp.sendEmail('e-mail-2ème destinataire@gmail.com', 'Réception d\'un nouveau commentaire dans RE7', 'Voici le commentaire saisi aujourd\'hui par '+ f.getRange(i,7).getValue() + ': « ' + f.getRange(i,c).getValue()) + '\ ».' 
      f.getRange(i,c+1).setValue('notification envoyée 3');
    }
  } 
} 

Merci encore Mikhail Staliyevich !!!

Fait.

merci

Rechercher des sujets similaires à "script notifier conditions"