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
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 !!!