Création d'une macro couper/coller avec conditions

Bonjour, bonsoir,
Je souhaite créer une macro qui , en fonction d'un menu déroulant, coupe la ligne, puis la colle dans une autre feuille de calcul du même fichier sheet. Je vous joins une photo pour que cela soit plus compréhensible.

sans titre

L'objectif est que lorsque l'état passe en DONE, la ligne doit être coupée et collée dans l'onglet Archive de ce même document Google Sheet. N'ayant pas de connaissance dans les macros, je n'ai aucune idée de comment faire et c'est pour cela que je viens ici.

Dans mon langage, ce serait :
Si État => DONE,

Alors, sélectionner la ligne entière,

Puis, couper la sélection,

Ajouter une ligne dans l'onglet "Archive"

Et coller la ligne coupée sur la nouvelle ligne de cellules ajoutées.

Voici le lien du document en question : https://docs.google.com/spreadsheets/d/1Rx3MiRB8K2WoCJz909npgcXTY4gYS78vbAlAwMFNgpg/edit?usp=sharing

Je pourrais le faire à la main mais cela pourrait m'éviter une perte de temps car sur le google sheet n'est qu'un exemple.

Tout cela est certainement très confus car c'est facile dans la logique langage humaine mais en programmation, c'est une autre chose.

Je vous remercie par avance pour le temps que vous prendrez à comprendre mon problème.

Je souhaite une bonne journée/soirée à tous les gens du forum !

Bonjour,

function onEdit(event){
  var feuille = event.source.getActiveSheet();
  var cel = event.source.getActiveRange();
  if ((feuille.getName() == 'Tâches ponctuelles') && (cel.getColumn() == 1) && (cel.getValue() == 'DONE')){
      var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Archive");
      archive.insertRowBefore(2);
      var plage = feuille.getRange('A' + cel.getRow() + ':J' + cel.getRow());
      plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); 
      feuille.deleteRow(cel.getRow());
  }
}

Bonjour,
J'ai donc copié votre code mais celui-ci m'indique une erreur lors de l'exécution

sans titre 2

Lorsque j'essaye de faire un débogage, cela me mets une erreur par rapport à la ligne 4, avec les informations suivantes :

Il y a quelque chose que je dois modifier dans le code que vous avez envoyé ?

En vous remerciant par avance

Non, tout est ok, mais ce script ne doit pas être exécuté à partir de l'éditeur de script

Il est lancé dès lors que tu mets DONE en automatique (objet de la fonction onEdit) https://developers.google.com/apps-script/guides/triggers

onEdit(e) runs when a user changes a value in a spreadsheet.

D'accord, merci, ça fonctionne bien.
Je pensais qu'il fallait l'exécuter avec un éventuel bouton d'exécution de script ou ce genre de chose.

Je vous remercie

c'est encore mieux !!

Rechercher des sujets similaires à "creation macro couper coller conditions"