Script archivage automatique SHEET

Bonjour,

J'ai essayé divers script d'archivage communiquer sur ce site, mais je n'arrive pas à mes fins...

Je te tiens à préciser que je suis néophyte et je bidouille avec mes maigres compétences en la matière (c'est la première fois que je touche au script).

J'ai trouver un script d'archivage générique sur internet qui fonctionne hors mi une erreur que je n'arrive pas à résoudre, mon tableau comportant plusieurs feuilles (14 au total avec les 12mois + une appelé "Orga" et une autre "Archive").

J'ai dupliqué le script suivant et modifié les paramètres de script en fonction de mes feuilles (soit 1 script par mois/feuille).

Le problème est que seul le dernier script dans mon éditeur fonctionne.

Si vous avez une solution pour que l'ensemble des script soit fonctionnelle ce serait super !

Je ne sais pas si je suis assez clair dans mon propos, voici le lien du tableau : https://docs.google.com/spreadsheets/d/1OMYOEjN3gBiLE1Y9V8DLGrLlKlppM3gYGr4HvbdZ9js/edit?usp=sharing

Voici le l'ID du script :

1gi4KxrAWF0uxrz2nfEAmaW1pWFynLVkT_aG-S6ZlCzg2khRmGxwt8toq

Et voici le premier script correspondant au mois de Janvier :

function onEdit(e) {

  // ************* UPDATE THIS SECTION FOR YOUR GOOGLE SHEET *************

  // Provide the name of the tab where the source data is, inbetween the red quote marks
  var sourceSheetName = "Jan";

  // Provide the name of the tab where row data should be moved to, inbetween the red quote marks
  var destSheetName = "Archive";

  /* Provide the Column number from the source tab which contains the tickboxes to archive
  that row of data, eg A=1, B=2, C=3, etc */
  var tickboxColumn = 10;

  // ************* UPDATE THIS SECTION FOR YOUR GOOGLE SHEET *************

  try {
    // get edited cell from the event object
    var cell = e.range;

    // get edited cell column from the event object
    var column = cell.getColumn();
    Logger.log('Column is: ' + column);

    // get edited cell value to later confirm it is a tickbox being selected
    var cellValue = cell.getValues();
    Logger.log('cellValue is: ' + cellValue);

    // check relevant Column has been edited otherwise do nothing
    if ((column == tickboxColumn) && (cellValue == 'true')) {

      // the relevant Column has been edited so continue

      // get edited cell row from the event object
      var row = cell.getRow();

      // get spreadsheet from the event object
      var source = e.source;

      // get source sheet by name
      var sourceSheet = source.getSheetByName(sourceSheetName);

      // get destination sheet by name
      var destSheet = source.getSheetByName(destSheetName);

      // get number of Columns with data in
      var numCols = sourceSheet.getLastColumn();

      // get current Row of data, getRange(startRow, startColumn, numRows, numColumns)
      var data = sourceSheet.getRange(row, 1, 1, numCols).getValues();

      // append to destination sheet
      destSheet.appendRow(data[0]);

      // delete current row on source sheet
      sourceSheet.deleteRow(row);

    }
    else {
      // an irrelevant Column has been edited so ignore
    }
  }
  catch (err) {
    // there was a problem with the Function
    Logger.log("Error with Function: " + err.stack);
  }

}

Merci !!!

Elie

Rechercher des sujets similaires à "script archivage automatique sheet"