🚀 Optimiser la navigation dans vos bases Google Sheets : Chargement rapide du client précédent avec Apps Script
🚀 Optimiser la navigation dans vos bases Google Sheets : Chargement rapide du client précédent avec Apps Script
🧩 Contexte : une fiche dynamique liée à une base de données
Dans un Google Sheet structuré, vous avez une base de données (à partir de la ligne 11) et une fiche de consultation en haut de la feuille. Chaque ligne représente un client, et vous souhaitez permettre à l’utilisateur de naviguer client par client, en affichant ses informations dans une interface structurée (zones G2:G8, J2:J8, etc.).
Initialement, une fonction Consulter_Client_précédent() parcourait les lignes en utilisant getRange(...).getValue() ligne par ligne et cellule par cellule. Ce processus devient extrêmement lent dès que la base contient plusieurs centaines de lignes.
🎯 Objectif : améliorer les performances
Nous allons :
-
Charger toutes les données en mémoire avec
getValues()une seule fois ; -
Éviter les appels répétés à
getRange(...).getValue(); -
Intégrer la lecture du libellé en
S2et remplir dynamiquementS3selon ce libellé ; -
Nettoyer les blocs de consultation sans boucle lente.
✅ Code optimisé : Consulter_Client_précédent()
🧠 Fonction associée : remplirDepuisLigneOptimise()
Cette fonction :
-
Nettoie les zones (sans utiliser de boucle lente) ;
-
Parcourt des blocs dynamiques (étiquettes ➜ valeurs) ;
-
Gère également le cas spécial de
S2➜S3.
⚡ Résultat
-
Navigation instantanée même sur plusieurs milliers de lignes ;
-
Moins de requêtes API entre votre script et la feuille (grâce à
getValues()global) ; -
Code plus structuré et réutilisable avec la fonction
remplirDepuisLigneOptimise().
📌 Conclusion
Si vous manipulez des bases de données dans Google Sheets avec une interface personnalisée, l’optimisation par chargement en mémoire est indispensable. Non seulement elle rend vos scripts instantanés, mais elle vous ouvre la porte à des interfaces complexes, dynamiques et ultra-réactives.
Commentaires
Enregistrer un commentaire