Effectuer boucle "For" sur résultats filtré

Bonjour à tous,

Je reviens avec une nouvelle problématique dont je ne trouve pas la solution...

J'ai une feuille sheet d'environ 4000 lignes sur laquelle j'effectue un filtre sur une colonne (colonne dont les données sont des adresses mail).

Je voudrai que mon script vérifie chaque lignes du résultat du filtre et me fasse mes corrections souhaitées (si l'adresse mail est en majuscule, alors convertir en minuscule).

Ca fonctionne, or mon problème est le suivant: malgré le filtre, mon script continue de faire lignes par lignes sur l'intégralité de la feuille (dont 4000 lignes) et non pas sur le résultat de mon filtre (une 50aine) (exemple ci-dessous):

image

Voici le script que j'utilise (je n'ai pas mis ce qui concerne les filtres pour éviter de polluer le script):

  for (var i=1;i<=lastRowExta;i++){
    var EmailToConvA = sheetExtract.getRange('AG'+i).getValue();
    if (EmailToConvA == ""){
    } else {
    var EmailConvA = EmailToConvA.toLowerCase();
    sheetExtract.getRange('AG'+i).setValue(EmailConvA);
    }
  }

Je ne peux malheureusement pas partager mon fichier car je suis en infra sécurisée...

Merci pour votre aide :-)

Bonjour,

remplace par ceci

  var data = sheetExtract.getRange('AG2:AG' + sheetExtract.getLastRow()).getValues()
  data.forEach(r => r[0] = r[0].toLowerCase())
  sheetExtract.getRange('A2:A' + sheetExtract.getLastRow()).setValues(data)

pas besoin de filtrer auparavant

C'est exactement ce que je souhaitais! Merci beaucoup :-)

Juste pour mes connaissances, à quoi correspond le r[0] dans la formule r[0] = r[0].toLowerCase()) ? (je suis loin d'être expert en scripting)...

Dans

data.forEach(r => r[0] = r[0].toLowerCase())

on trouve les données data qui sont un array (tableau) à 2 dimensions, puis r qui comprend toute la ligne (même si cette ligne n'a ici qu'un seul élément), et r[0] le premier élément (et seul ici) de la ligne, sachant que dans les arrays les indices commencent à 0

Génial, merci pour les explications

Rechercher des sujets similaires à "effectuer boucle resultats filtre"