Explication du code Naviguer dans les lignes filtrées avec Google Apps Script
Voici une explication claire et structurée de votre fonction Consulter_Client_visible() (et son complément pour "suivant" ou "précédent") destinée à être publiée sur un blog. Je vais la présenter étape par étape, avec des titres et une rédaction pédagogique :
🎯 Objectif : Consulter un client visible dans une feuille filtrée Google Sheets
Ce script Google Apps Script est conçu pour fonctionner dans une feuille de calcul nommée "Liste ECOLE". Il permet de :
-
Parcourir les lignes visibles (non masquées par un filtre).
-
Identifier les données d’un client dans la colonne G.
-
Remplir dynamiquement un formulaire (plages G2:R8).
-
Mémoriser la ligne actuelle pour navigation ultérieure (suivant / précédent).
📌 Structure du script
Le script est divisé en deux fonctions principales :
-
Consulter_Client_visible(): Cherche la première ligne visible avec données à partir de la ligne 11. -
remplirDepuisLigne(): Remplit les champs du formulaire à partir des données de la ligne sélectionnée.
🔍 Détail du code
1. Consulter_Client_visible()
-
On récupère la feuille, et on définit la plage à analyser : à partir de la ligne 11 dans la colonne G (où se trouvent les noms des clients par exemple).
-
On récupère la ligne d’en-tête (ligne 10) pour savoir à quelles colonnes correspondent les noms utilisés dans les étiquettes dynamiques (ex. "Nom", "Ville"...).
-
Cette boucle parcourt les lignes visibles uniquement (grâce à
isRowHiddenByFilter(row)). -
Lorsqu'une ligne avec données est trouvée, on appelle la fonction de remplissage.
2. remplirDepuisLigne(sheet, headers, activeRow)
a. Nettoyage des anciennes valeurs
-
Les anciennes valeurs sont supprimées avant de remplir de nouvelles informations.
b. Fonction remplirCellule()
-
Cette fonction lit une valeur de la ligne active selon le nom de la colonne, puis la copie vers une cellule spécifique (comme G2, G3, etc.).
c. Blocs dynamiques
-
Chaque bloc contient :
-
Une colonne contenant des noms de champs (ex. "Nom", "Ville", "ICE"...).
-
Une colonne correspondante à remplir avec les données trouvées.
-
Une plage de lignes (2 à 8 ici).
-
-
On parcourt chaque bloc, puis chaque ligne de ce bloc :
⏭ Aller au client suivant (en respectant le filtre)
Une autre fonction peut s’ajouter pour "suivant" :
Et la version "précédente" :
✅ Résultat
Vous obtenez une navigation fluide entre les clients visibles, même si des filtres sont actifs dans votre tableau. Une belle alternative dynamique et professionnelle pour gérer vos données clients dans Google Sheets !
Commentaires
Enregistrer un commentaire