Google

Déplacer automatiquement une ligne dans une autre feuille en fonction de la valeur d’une cellule – idéal pour une todo

Imaginons un fichier GoogleSheets avec une liste de tâche. En colonne B, j’ai une case à cocher que je coche lorsque ma tâche est réalisée. Ce que je souhaite, c’est que cette ligne soit automatiquement déplacée dans la première ligne vide de l’onglet nommé ARCHIVES. Voici le code :

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = sheet.getRange("B:B");
  var values = range.getValues();
  var archiveSheet = e.source.getSheetByName("ARCHIVES");
  var lastRow = archiveSheet.getLastRow();
  
  for (var i = 0; i < values.length; i++) {
    if (values[i][0] === true) {
      var rowToMove = sheet.getRange(i+1, 1, 1, sheet.getLastColumn());
      rowToMove.copyTo(archiveSheet.getRange(lastRow+1, 1));
      sheet.deleteRow(i+1);
    }
  }
}

Laisser un commentaire

ℹ Les champs de contact ne sont pas obligatoires (nom et e-mail), mais ils sont vivement conseillés si vous souhaitez recevoir une réponse.
Si vous laissez votre adresse e-mail, elle ne sera pas publiée.