Petit programme de comparaison de valeur
Résolu
CyrilEstPerdu
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je vais être court et concis : voici une ébauche de mon programme, si j’arrive à comprendre pourquoi ça ne marche pas, je serais en mesure de faire tout ce que je veux. Mais la, je bloque...
Une âme charitable pour venir à mon secours?
Une âme charitable pour venir à mon secours?
function AUTO(){
var document = SpreadsheetApp.getActive();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[2];
var cell = sheet.getRange("M96");
var jour = sheet.getRange("A86");
if (jour==6||jour==5||jour==4||jour==3||jour==2)
( cell.setValue(100))
}
1 réponse
-
Bonjour
Je ne connais pas l'API que tu utilises, mais si sheet.getRange("M96") récupère une cellule, je suppose que sheet.getRange("A86") en fait autant. Or, c'est une valeur que tu veux récupérer, pas la totalité de la cellule. N'aurais-tu pas dû écrirevar jour = sheet.getRange("A86").getValue();ou quelque chose du genre ?-
Hello le Père, je confirme ..il faut bien utiliser la méthode getValue
https://developers.google.com/apps-script/reference/spreadsheet/range
Quelques exemples :
https://sites.google.com/a/newvisions.org/scripts_resources/technical-blog/readingandwritingdatainsheetsviaspreadsheetapp -
-
En ft je me suis un peu enflammé, pour afficher une valeur défini cela marche parfaitement mais ce que je veux c'est affiché la valeur d'une case particulière.
Comme ça :function AUTO(){ var document = SpreadsheetApp.getActive(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[2]; var range = sheet.getDataRange(); var cell = sheet.getRange("M96"); var jour = sheet.getRange("A86").getValue(); if (jour==6||jour==5||jour==4||jour==3||jour==2) ( cell = ("K93")) }
Sauf que c'est pas aussi simple.. J'ai tenté pleins de combinaison avec getValue mais rien ne marche comme je voudrais. Auriez-vous la solution?
Merci pour les liens d'aide mais c'est un peu trop compliqué pour mon niveau de codage, je ne comprends pas toutEDIT : Ajout des balises de code
-
C'est quoi qui ne marche pas au juste ?
Ne serait-ce pas :cell = ("K93"))
??
As tu lu les liens que je t'ai donné ?
Car ... comme pour lire une valeur il faut utiliser un getValue .... pour METTRE une valeur... il faut un setValue
https://developers.google.com/apps-script/reference/spreadsheet/range#setValue(Object) -
Oui c'était ça qui ne marchait pas, mais j'ai reussi à solutionner mon problème comme ça:
function AUTO(){ var document = SpreadsheetApp.getActive(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[2]; var range = sheet.getDataRange(); var cell = sheet.getRange("M96"); var jour = sheet.getRange("A86").getValue(); var value = sheet.getRange("K93").getValue(); if (jour==6||jour==5||jour==4||jour==3||jour==2) ( cell.setValue(value)) }
Je voulais afficher en M96 la valeur de K93 quand le if est vrai !
Merci pour l'aide :D
-