Для целей документирования.
Код был хорош, но лист "Classement" не был пустым, так как имел непустую ячейку в 'A265', вызов ts.getLastRow();
возвращал 265После очистки листа и запуска кода он работал как положено.
Можно продвинуться вперед, позвонив ts.clear()
до завершения копирования, чтобы убедиться, что лист пуст.
ОБНОВЛЕНИЕ
После тестирования обновите код следующим образом:
function Agregation() {
var spreadsheet = SpreadsheetApp.getActive();
var ss = spreadsheet.getSheetByName('Test données');
var ts = spreadsheet.getSheetByName('Test script');
var lr = ts.getLastRow();
Logger.log(lr);
ss.getRange('A2:E7').copyTo(ts.getRange('A'+(lr+1)), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var toDelete = ts.getRange("A" + ts.getLastRow() - 3 + ":A" + ts.getLastRow()).getValues();
for (var i = 0; i < 4; i++){
if (toDelete[i][0] == ""){
Logger.log(i);
ts.deleteRow((ts.getLastRow() - 3) + i);
}
}
};
Добавляет первую строку, а затем проверяет следующие 3, чтобы увидеть, если это«», если это так, он удаляет строки, поэтому при следующем запуске не будет пробелов