As tu tester de debuger avec un console log pour comprendre le probleme ?
Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Ce que je veux
Modifier la date en fonction de plusieurs conditions, sur chaque ligne de mon tableau
Ce que j'obtiens
Il ne foncionne que sur la prmière ligne. Dès la second, il n'y a que le onEdit qui fonctionne (il ne prend plus en compte les conditions.
Merci de votre aide
Pat
3 réponses
Bonjour,
"il ne prend plus en compte les conditions"
La syntaxe du IF semble bonne... du coup il y a 2 hypothèses :
- soit le résultat de la comparaison "maValeur == 'ENVOYER' && maValeurdeux == 'R1'" vaut FALSE, alors le contenu de la condition n'est pas executé;
- soit le résultat de la comparaison "maValeur == 'ENVOYER' && maValeurdeux == 'R1'" vaut TRUE, mais le code contenu dans les accolades n'est pas construit de manière à répondre à tes attentes;
Pour développer un peu la proposition de Beezkit, je mettrais un "console.log(maValeur == 'ENVOYER' && maValeurdeux == 'R1')" en amont du IF pour connaitre le résultat de la comparaison... puis un un "console.log('Condtion prise en compte')" à la première ligne après l'ouverture de l'accolade.
Merci de vos réponses ! (et bonnes fêtes !)
Un ami m'a proposé une solution, qui fonctionne !
function onEdit() {
var ss = SpreadsheetApp.getActive(),
sh = ss.getActiveSheet(),
range = sh.getActiveRange();
var rowIndex = range.getRowIndex();
var rowValues = sh.getRange(rowIndex,1,1,3).getValues();
if(rowValues[0][0] == "ENVOYER" && rowValues[0][2] == "R1"){
sh.getRange(rowIndex,2).setValue(new Date());
}
}