AppScript Developpement JavaScript

Bonjour à tous,

Hyper novice dans le code je me suis lancé dans AppScript et donc JavaScript.

J'ai réussi à créer ce bout de code mais me renvoi des erreurs sur cette ligne.

var dataRange = sheet.getRange('A:I'); //
function filterAndModifyTable() {
    // Définir la feuille de calcul et les plages de données
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange('A:I'); // Ajustez la plage en fonction des données
  var filterRangeA = dataRange.getRange('A:A'); // Colonne A
  var filterRangeB = dataRange.getRange('B:B'); // Colonne B
  var modifyRangeI = dataRange.getRange('I:I'); // Colonne I

  // Filtrer la colonne A sur la valeur "ENT"
  var filterCriteriaA = filterRangeA.createFilterCriteria().setCriterion(
    SpreadsheetApp.FilterCriteria.EQUAL,
    'ENT'
  );
  filterRangeA.filter(filterCriteriaA);

  // Filtrer la colonne B sur les valeurs spécifiées
  var filterCriteriaB = filterRangeB.createFilterCriteria().setCriterionInList(
    ['CM OPAC', 'CM OPAC VILLAERIVA', 'COL US', 'COLGATE-PALMOLIVE VIETNA', 'COLGATE-SANXIAO CO.', 'DEOFLOR', 'EURO WIPES', 'EUROCOSMETIC SRL', 'EUROTAB', 'EUROTAB OPERATIONS', 'FARMOL', 'FARMOL SPA', 'HI-P XIAMEN PRECISION P', 'HYDRACHEM', 'TRISA AG']
  );
  filterRangeB.filter(filterCriteriaB);

  // Modifier la colonne I
  modifyRangeI.getValues().forEach(function(row, rowIndex) {
    if (row[0] != '') {
      var modifiedValue = '450' + row[0].substring(3);
      modifyRangeI.getCell(rowIndex + 1, 1).setValue(modifiedValue);
    }
  });

  // Supprimer les filtres
  filterRangeA.removeFilter();
  filterRangeB.removeFilter();
}

Le but de cette fonction est de filtrer la colonne A sur la valeur "ENT", puis la colonne B sur les valeurs (voir en dessous) et ensuite de remplacer les 3 premiers chiffres des cellules de la colonne I par "450".

Si vous avez des pistes je suis preneur :)))))

['CM OPAC', 'CM OPAC VILLAERIVA', 'COL US', 'COLGATE-PALMOLIVE VIETNA', 'COLGATE-SANXIAO CO.', 'DEOFLOR', 'EURO WIPES', 'EUROCOSMETIC SRL', 'EUROTAB', 'EUROTAB OPERATIONS', 'FARMOL', 'FARMOL SPA', 'HI-P XIAMEN PRECISION P', 'HYDRACHEM', 'TRISA AG'

Bonjour,

vous déclarez la feuille mais il faut en amont déclarer le fichier, remplacez :

var sheet = SpreadsheetApp.getActiveSheet();
par :

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

Rechercher des sujets similaires à "appscript developpement javascript"