Bonjour,
Dans ce post : https://forum.excel-pratique.com/sheets/deplacer-des-lignes-dans-une-autre-feuille-en-fonction-d-une...
Steelson écrit:
Si tu veux déplacer, adapte ce programme dit d'archivage en fonctionne des noms de feuilles et colonne concernées, mets un lien vers un fichier GSheets si besoin.
Ici
la feuille initial s'appelle prêt,
la destination est archive,
le critère est une case à cocher colonne 6,
et les données de A à K
archiver
--------
function onEdit(event){
var feuille = event.source.getActiveSheet();
var cel = event.source.getActiveRange();
if ((cel.getColumn() == 6) && (feuille.getName().toString() == 'prêt')){
if (cel.getValue()){
var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("archive");
archive.insertRowBefore(2);
var plage = feuille.getRange('A' + cel.getRow() + ':K' + cel.getRow());
plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
feuille.getRange('G' + cel.getRow() + ':K' + cel.getRow()).clearContent();
}
}
};
J'essaye d'adapter pour que le script se déclenche en appuyant sur un bouton.
J'ai modifié le script comme ceci:
function Archiver() {
var feuille = event.source.getActiveSheet();
var cel = event.source.getActiveRange();
if ((cel.getColumn() == 5) && (feuille.getName().toString() == 'Courriers')){
if (cel.getValue()){
var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Archive");
archive.insertRowBefore(2);
var plage = feuille.getRange('A' + cel.getRow() + ':F' + cel.getRow());
plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
feuille.getRange('E' + cel.getRow() + ':F' + cel.getRow()).clearContent();
}
}
};
La feuille initiale s'appelle "Courriers", la feuille de destination "Archive", le critère est une case à cocher colonne 5 (E) et la plage de donnée de A à F.
Lorsque j'exécute le script, j'ai le message suivant: "ReferenceError: event is not defined"
Avec mes faibles connaissances, je ne parviens pas à trouver la solution.
Question subsidiaire: Par quoi devrais-je commencer pour apprendre ce langage?
Merci d'avance