Bonjour à tous,
Je me tourne vers vous car je n’arrive pas à faire fonctionner mon code sur google Sheets. Le but du programme est qu’on puisse suivre l’évolution du stock des différentes références répertoriées. Pour cela, il faudrait que dés qu’un changement est fait, la date et l’état du stock soient stockés dans une case plus loin (d’où les références seules en bas de la feuille). Pour l’instant le code fait cela: Quand on rentre 1 ou-2 par exemple dans la colonne "+/-" le stock et la consommation sont mis à jour puis la colonne "+/-" est remise à zéro. Le code est commenté pour que vous puissiez comprendre ma démarche. Merci à tous ceux qui pourront m’aider je galère vraiment à faire le programme.
function onEdit(){
if(SpreadsheetApp.getActiveRange().getColumn()==4){ ///il ne se passe des choses que si la colonne "+/-" est modifiée
for (var i in 2,403){
var cellTest = SpreadsheetApp.getActive().range.getCell(i,4); /// on récupère chaque case de la collonne "+/-"
if( cellTest != 0){ //// on test si elles changent
var k =408+i; /// indice pour les lignes d'affichage de la date
var l = 2; //// indice pour les colonnes d'affichage de la date
var cellDate = SpreadsheetApp.getActive().range.getCell(k,l);
while (isEmpty(cellDate)==false){ ///le but est de mettre la nouvelle date à côté de la précédente
l=l+1;
}
const cellDateDef = SpreadsheetApp.getActive();
cellDateDef.getRange(k,l).setValue(Date) /// on affiche la date du changement de stock
const cellStock = SpreadsheetApp.range.getCell(i,5);
SpreadsheetApp.range.getCell(k+1,5) = cellStock; ///dans la case sous la date du changement on affiche l'état du stock
}
}
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('G2:G403').setValue('0'); ////on remet la colonne "+/-" à zéro
}
}
'''
[lien de la feuille](https://docs.google.com/spreadsheets/d/1q6Dj_yFhYEOZOY-qqs80hsREqURZcQ1b-f_Oo0Y5HU0/edit#gid=0)
[lien du script](https://script.google.com/u/0/home/projects/1hxpQkk1PdGuAoKpA6Ucwky9juMrcxnD4laGYA8SXi3HHHcL-ZiyY9C1F/edit)
+0
-0