Script sur google sheet
Fermé
dossulli04
Messages postés
2
Date d'inscription
mardi 21 septembre 2021
Statut
Membre
Dernière intervention
21 septembre 2021
-
21 sept. 2021 à 10:01
dossulli04 Messages postés 2 Date d'inscription mardi 21 septembre 2021 Statut Membre Dernière intervention 21 septembre 2021 - 21 sept. 2021 à 14:11
dossulli04 Messages postés 2 Date d'inscription mardi 21 septembre 2021 Statut Membre Dernière intervention 21 septembre 2021 - 21 sept. 2021 à 14:11
A voir également:
- Script impression google sheet
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Google earth - Télécharger - 3D
- Google - Guide
2 réponses
jordane45
Messages postés
38369
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 janvier 2025
4 722
21 sept. 2021 à 11:23
21 sept. 2021 à 11:23
Bonjour,
Visiblement, il est possible de créer/supprimer des "trigger" via du code
https://developers.google.com/apps-script/guides/triggers/installable
par exemple
Visiblement, il est possible de créer/supprimer des "trigger" via du code
https://developers.google.com/apps-script/guides/triggers/installable
par exemple
function createOnEditTrigger(){ ScriptApp.newTrigger("sendEmailReport") // Run the sendEmailReport function. .forSpreadsheet(SpreadsheetApp.getActive()) // Create the trigger in this spreadsheet. .onEdit() // We want to set up an Edit trigger. .create(); // Create it! }
dossulli04
Messages postés
2
Date d'inscription
mardi 21 septembre 2021
Statut
Membre
Dernière intervention
21 septembre 2021
Modifié le 21 sept. 2021 à 14:13
Modifié le 21 sept. 2021 à 14:13
Merci Jordane,
ça à l'air pas mal tout ça, alors désolé par contre je suis un peu perdu, pas du tout l'habitude de coder quoi que ce soit.
Donc si je comprend bien, j'ouvre mon fichier google sheet initial, j'ouvre l'éditeur de script, je retrouve mon script qui fonctionne bien, je l'édite en y ajoutant à la suite les 5 / 6 lignes que tu m'indiques et j'enregistre.
Si ça fonctionne en supprimant mon déclencheur manuel, c'est que je peux faire des copies de ce fichiers et ça fonctionnera aussi ?
Mon déclencheur manuel est paramétrer comme ceci : "notification", "sur la feuille de calcul", "lors d'une modification", "immédiatement".
Mon script actuel est :
<code>var email ="xxxxxx@gmail.com";
var range = "E8:H8";
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 get_cell_value(sheet, col, row) {
var cellAsRange = sheet.getRange(row, col);
var valuesInArray = cellAsRange.getValues();
return valuesInArray[0][0];
}
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 valeurAGauche = get_cell_value(sheet, editCol -1, editRow);
var nomclient = get_cell_value(sheet, 2, 4);
var objet = 'Modification fiche atelier '+ valeurAGauche +' - ' + nomclient;
var body = 'Le dossier ' + valeurAGauche +' - ' + nomclient +' a été mis à jour : << ' + editRange.getValue() + ' >>' + ' URL de la fiche : ' + ss.getUrl();
MailApp.sendEmail(email, objet, body);
}
}
ça à l'air pas mal tout ça, alors désolé par contre je suis un peu perdu, pas du tout l'habitude de coder quoi que ce soit.
Donc si je comprend bien, j'ouvre mon fichier google sheet initial, j'ouvre l'éditeur de script, je retrouve mon script qui fonctionne bien, je l'édite en y ajoutant à la suite les 5 / 6 lignes que tu m'indiques et j'enregistre.
Si ça fonctionne en supprimant mon déclencheur manuel, c'est que je peux faire des copies de ce fichiers et ça fonctionnera aussi ?
Mon déclencheur manuel est paramétrer comme ceci : "notification", "sur la feuille de calcul", "lors d'une modification", "immédiatement".
Mon script actuel est :
<code>var email ="xxxxxx@gmail.com";
var range = "E8:H8";
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 get_cell_value(sheet, col, row) {
var cellAsRange = sheet.getRange(row, col);
var valuesInArray = cellAsRange.getValues();
return valuesInArray[0][0];
}
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 valeurAGauche = get_cell_value(sheet, editCol -1, editRow);
var nomclient = get_cell_value(sheet, 2, 4);
var objet = 'Modification fiche atelier '+ valeurAGauche +' - ' + nomclient;
var body = 'Le dossier ' + valeurAGauche +' - ' + nomclient +' a été mis à jour : << ' + editRange.getValue() + ' >>' + ' URL de la fiche : ' + ss.getUrl();
MailApp.sendEmail(email, objet, body);
}
}