1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| function OneEdit() {
var app = SpreadsheetApp;
var valeur = app.getActiveSpreadsheet();
var feuille = valeur.getActiveSheet(); //SheetByName("surveillance 1");
//var case1 = feuille.getRange(2 , 1).getValue();
var lancescript = feuille.getActiveCell().getValue();//on recupère la valeur de la cellule active
// for ( var t=4; case1 !="" ;t++){
// var case1 = feuille.getRange(t , 1).getValue();
// var case2 = feuille.getRange(t+1 , 2).getValue();
if ( lancescript =="fini" ){//si dans la colonne 2, on inscrit : fini, on excecute le script qui suit
var id = feuille.getRange("D2").getValue(); //on recupere l'ID contenu dans la case D2
var sheetactive = SpreadsheetApp.openById(id);
var adresse = feuille.getRange("B2").getValue();
var sheet = sheetactive.getSheetByName(adresse); //on active et ouvre virtuellement le classeur avec l'ID contenu dans la case D2, et la feuille avec le nom contenu dans B2
sheet.getRange('B:B').activate();
sheetactive.getActiveSheet().insertColumnsBefore(sheetactive.getActiveRange().getColumn(), 1);
sheetactive.getActiveRange().offset(0, 0, sheetactive.getActiveRange().getNumRows(), 1).activate();
var releve = feuille.getRange(1,1);
for (var i=3;releve !="";i++){
var releve = feuille.getRange(i , 1).getValue();
var releve2 = feuille.getRange(i , 2).getValue();
if (releve2 != "fini"){ // si la valeur dans la colonne B est differente de fini on copie les valeur, sinon on arrete la copie
sheet.getRange(i-2 , 2).setValue(releve2); }
}
feuille.getRange('B6:B').clearContent();// on efface dans la feuille active les valeur qui ont été entrée manuellement
//ci dessous, ou ouvre le classeur surveillance et la feuille surveillance, et on va rechercher dans la bonne colonne l'adresse en cours, et on ecrit dans la colonne état : ok
var sheetactive2 = SpreadsheetApp.openById("id de mon classeur sheet");
var sheet2 = sheetactive2.getSheetByName("base");
var energo = feuille.getRange('A1').getValue();
var MES = feuille.getRange('C1').getValue();
var MESfaite = feuille.getRange('B5').getValue();
var today = feuille.getRange('B3').getValue();
var compare = "x";
for (var j=2; compare != adresse ; j++){
var passage = feuille.getRange(1 , 2).getValue(); // passage = semaine, quinzaine ou mois
if ( passage == "semaine"){
var k = 13; }
if ( passage == "quinzaine"){
var k = 14; }
if ( passage == "mois"){
var k = 15; }
var compare = sheet2.getRange(j , 1).getValue();
if ( compare == adresse ){
sheet2.getRange(j,k).setValue("ok");
var eco21 = sheet2.getRange(j, 3).getValue();
if (energo == "Energo" && eco21 =="x"){
sheet2.getRange(j,16).setValue("ok"); }
if (MES == "M.E.S" && (MESfaite == "MES" || MESfaite == "arrêt chauffage")){
sheet2.getRange(j,17).setValue(today); }
}
}
}
// }
// ci dessous, ci la tournée de surveillance est fini, on vide la colonne dans le classeur surveillance, feuille base
var sheetactive2 = SpreadsheetApp.openById(" ");
var sheet2 = sheetactive2.getSheetByName("base");
var passage = feuille.getRange(1 , 2).getValue();
var reste = feuille.getRange(4 , 4).getValue();
var energo = feuille.getRange('A1').getValue();
var MES = feuille.getRange('C1').getValue();
if ( reste == "0" && passage == "semaine" ){
Utilities.sleep(20000);//on fais une pause dans le script de 20 seconde le temps que s'actualise les données
sheet2.getRange('M2:M').clearContent();
feuille.getRange("E1").setValue("fini"); }
if ( reste == "0" && passage == "quinzaine" ){
Utilities.sleep(20000);//on fais une pause dans le script de 20 seconde le temps que s'actualise les données
sheet2.getRange('N2:N').clearContent();
feuille.getRange("E1").setValue("fini");}
if ( reste == "0" && passage == "mois" ){
Utilities.sleep(20000);//on fais une pause dans le script de 20 seconde le temps que s'actualise les données
sheet2.getRange('O2:O').clearContent();
feuille.getRange("E1").setValue("fini"); }
if ( reste == "0" && energo == "Energo" ){
Utilities.sleep(20000);//on fais une pause dans le script de 20 seconde le temps que s'actualise les données
sheet2.getRange('P2:P').clearContent(); }
if ( reste == "0" && MES == "M.E.S" ){
Utilities.sleep(20000);//on fais une pause dans le script de 20 seconde le temps que s'actualise les données
sheet2.getRange('Q2:Q').clearContent(); }
} |
Partager