Bonjour,
Pour décortiquer le script semble réaliser, étape par étape :
1- déclaration de la feuille où a eu lieu la modification, la feuille Topo et la cellule où a eu lieu la modification.
function onEdit(e) {
var sheet1 = e.source.getActiveSheet();
var sheet2 = e.source.getSheetByName('Topo');
var cell = e.range.getA1Notation();
2- une condition qui vérifie si la feuille où a eu lieu la modif s'appelle "Relevé" et si la feuille "Topo" existe bel et bien et si la cellule modifiée n'est pas P21:R21 et si la modification est différente de vide et si l'offset en -1,0 a une valeur différente de vite.
if (sheet1.getName() == 'Relevé' && sheet2 != null && cell != 'P21:R21' && sheet1.getRange(cell).getValue() != '' && sheet1.getRange(cell).offset(-1, 0).getValue() != '') {
3- si la condition précédente est remplie, alors ajout d'une ligne (première ligne) de la feuille Relevé et insère la donnée contenue dans cell.
sheet2.appendRow([sheet1.getRange(cell).getValue()]);
4- si condition 2- pas remplie, alors, si le nom de la si la feuille où a eu lieu la modif s'appelle "Relevé" et si la feuille "Topo" existe bel et bien et si la cellule modifiée n'est pas A1:A3 et si la modification est différente de vide et si l'offset en -1,0 a une valeur différente de vite.
} else if (sheet1.getName() == 'Relevé' && sheet2 != null && cell != 'A1:A3' && sheet1.getRange(cell).getValue() != '' && sheet1.getRange(cell).offset(-1, 0).getValue() == '') {
5- si la condition précédente est remplie, alors ajout d'une ligne (première ligne) de la feuille Relevé et insère le texte : "\n" + la donnée contenue dans cell. (> \n ne fonctionne pas dans sheet)
sheet2.appendRow(['\n' + sheet1.getRange(cell).getValue()]); }}
Qu'est ce qui ne fonctionne pas ?