IndexOf pour comparer deux tableaux

Bonjour,
J'ai un fichier dans lequel j'ai des noms de légumes sur de nombreuses feuilles, et sur lesquels je vais avoir à faire des opérations par la suite.
Sur ma première feuille, j'ai une liste de tous les légumes avec les infos dont j'ai besoin sur eux (poids, prix...)
Je me suis fait un script pour vérifier que l'orthographe est bien la même sur toutes les feuilles, la plupart du temps ils ont été entrés au moyen d'une liste déroulante, mais de temps en temps il n'y a pas d'autre choix que de les rentrer à la main. Il arrive donc qu'il y ait des noms au singulier / pluriel, mais aussi d'autres coquilles qui puissent être apparus.
Mon but est simplement de mettre ces cases en rouge le cas échéant, me permettant de faire les corrections manuellement avant de lancer mon script avec les opérations.

Mon script que j'ai simplifié pour l'exemple ressemble à ça :

spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Liste"), true);
var sheet = spreadsheet.getActiveSheet();
var liste = sheet.getRange('A2:A100').getValues();

var tabnoms = spreadsheet.getSheets();
for (i=1; i<(tabnoms.length) ; i++){
   var feuille = tabnoms[i].getName();
   spreadsheet.setActiveSheet(spreadsheet.getSheetByName(feuille), true);
   var sheet = spreadsheet.getActiveSheet();
   var nomaverifier = sheet.getRange('A1:A15').getValues();
   for (j=0 ; j<(nomaverifier.length) ; j++){
      var cellule = sheet.getRange('A'+ (j+1)).activate();
      if(liste.indexOf(nomaverifier[j])==(-1)) {
         sheet.getActiveRangeList().setBackground('#ff0000');
      }
      else sheet.getActiveRangeList().setBackground('#ffffff');
   }
}

Mon problème est que tout s'affiche en rouge et je ne comprends pas pourquoi. J'ai testé plusieurs options. Il y en a une qui m'approche de ce que je veux en ajoutant .toString pour les tableaux liste et nomaverifier, mais dans ce cas, si le nom à vérifier est au singulier (ex. poireau) et le nom dans la liste au pluriel (ex. poireaux), il ne détecte pas l'erreur vu que la chaîne de caractère existe bel et bien. De plus, pour mes analyses j'aurai besoin de connaître la position du légume dans la liste, et si j'ai bien compris ce que j'ai lu, si je mets .toString, la position sera en terme de caractère, et non pas en terme de case de tableau.
Je n'ai plus d'autre idée à tester pour résoudre ce problème, donc si quelqu'un pouvait me mettre sur la voie, je suis preneur.
Merci beaucoup. Cordialement

Bonjour, "ce script devrait mettre en rouge les cellules contenant des noms de légumes qui ne correspondent pas à ceux de la liste principale. De plus, il utilisera la méthode indexOf pour obtenir la position du légume dans la liste principale."

spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Liste"), true);
var sheet = spreadsheet.getActiveSheet();
var liste = sheet.getRange('A2:A100').getValues().flat(); // Utilisez flat() pour convertir en tableau à une dimension

var tabnoms = spreadsheet.getSheets();
for (var i = 1; i < tabnoms.length; i++) {
   var feuille = tabnoms[i].getName();
   spreadsheet.setActiveSheet(spreadsheet.getSheetByName(feuille), true);
   var sheet = spreadsheet.getActiveSheet();
   var nomaverifier = sheet.getRange('A1:A15').getValues().flat(); // Utilisez flat() pour convertir en tableau à une dimension
   for (var j = 0; j < nomaverifier.length; j++) {
      var cellule = sheet.getRange('A'+ (j+1));
      var nom = nomaverifier[j].toString().trim(); // Convertit en chaîne de caractères et supprime les espaces inutiles
      if (!liste.includes(nom)) {
         cellule.setBackground('#ff0000');
      } else {
         cellule.setBackground('#ffffff');
      }
   }
}

Merci pour la réponse. Ça fonctionne

Rechercher des sujets similaires à "indexof comparer deux tableaux"