Bonjour,
Je cherche à être notifié lorsque qu'une cellule particulière est modifié. J'ai vu des sujets similaire dans le forum mais rien pour m'aider.
La feuille de mon google sheet se remplie grâce à un formulaire.
Dans ce formulaire il y a une partie commentaire pour laquelle j'aimerai être notifiée lorsque celle-ci et celle-ci seulement est remplie.
De plus je souhaiterais avoir une autre notification en fonction de certaines données, je m'explique...
J'ai un tableau A,B,C,D, toutes les valeurs sont numériques et la "D" est au format pourcentage.
Si "A" est supérieur ou égal à 40 et que le pourcentage dans le calcul (B+C)/A est supérieur à 10% alors je reçois une notification.
=SI(C2>=40;(D2+E2+F2)/C2) ceci est la formule que j'ai mise dans une cellule et cette cellule est au format pourcentage
Pour être franc je suis novice dans excel (pour les VBA) et google sheet et je vois qu'il y a des VBA et Script dans Google sheet.
Je ne sais pas si il vaut mieux un script ou vba mais j'ai trouvé un script que voici, qui fonctionne bien lorsque c'est moi qui modifie manuellement.
var email = "mon adresse email";
var range = "B2:B5000";
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Sousmenu = [];
Sousmenu.push({name: "Notif cellule", functionName: "Message"});
ss.addMenu("Info Notif", Sousmenu);
}
function Message() {
Browser.msgBox ('Cellule programmée : '+ range +'. Email programmé :' +email);
}
function Notification() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var editRange = sheet.getActiveRange();
var editRow = editRange.getRow();
var editCol = editRange.getColumn();
var testrange = sheet.getRange(range);
var rangeRowStart = testrange.getRow();
var rangeRowEnd = rangeRowStart + testrange.getHeight()-1;
var rangeColStart = testrange.getColumn();
var rangeColEnd = rangeColStart + testrange.getWidth()-1;
if (editRow >= rangeRowStart && editRow <= rangeRowEnd
&& editCol >= rangeColStart && editCol <= rangeColEnd)
{
var objet = 'Nouveau commentaire dans '+sheet.getName();
var body = 'Un commentaire a été saisi dans '+ sheet.getName() + '. Voici le lien pour visualiser la ligne complète concernant le commentaire saisi ' + ss.getUrl() + 'Commentaire: «' + editRange.getValue() + '».';
MailApp.sendEmail(email, objet, body);
}
}
seulement voilà...lorsque c'est le formulaire qui rempli le tableau (chose prévu) la formule dans la case disparait et je n'ai pas de notification.
Si quelqu'un pouvait éclairer ma lanterne merci beaucoup.