🎯 Sélectionner automatiquement une cellule dans Google Sheets selon une valeur donnée

 


🎯 Sélectionner automatiquement une cellule dans Google Sheets selon une valeur donnée

Dans cet article, je vous montre comment créer un script Google Apps Script qui permet de rechercher dynamiquement une valeur dans une colonne précise (définie par l’utilisateur) et de sélectionner automatiquement la cellule correspondante dans un tableau. C’est particulièrement utile pour les tableaux de données importants, comme une base de données d’écoles, de clients ou de contrats.


🧠 Objectif

À partir de deux cellules de recherche :

  • 📌 B8 : contient le nom de la colonne (ex. : "ID Ecole", "Nom", etc.)

  • 🔍 C8 : contient la valeur à rechercher (ex. : "École Ibn Sina")

👉 Le script va :

  1. Lire l’en-tête de tableau (ligne 10).

  2. Trouver la colonne correspondant au libellé de B8.

  3. Chercher dans cette colonne si une cellule contient la valeur de C8.

  4. 🎯 Sélectionner automatiquement cette cellule dans Google Sheets.


📜 Le script Apps Script

Voici le code à insérer dans l’éditeur Apps Script (Extensions > Apps Script) :

javascript

function SelectionnerCelluleSelonValeur() { const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Liste ECOLE"); const libelle = feuille.getRange("B8").getValue().toString().trim(); const valeurRecherchee = feuille.getRange("C8").getValue().toString().trim(); if (!libelle || !valeurRecherchee) { SpreadsheetApp.getUi().alert("⚠️ Veuillez remplir les cellules B8 (libellé) et C8 (valeur à rechercher)."); return; } const ligneEntete = 10; const headers = feuille.getRange(ligneEntete, 1, 1, feuille.getLastColumn()).getValues()[0]; const colIndex = headers.indexOf(libelle); if (colIndex === -1) { SpreadsheetApp.getUi().alert(`❌ Colonne "${libelle}" introuvable à la ligne ${ligneEntete}.`); return; } const data = feuille.getRange(ligneEntete + 1, colIndex + 1, feuille.getLastRow() - ligneEntete).getValues(); for (let i = 0; i < data.length; i++) { const valeur = data[i][0]; if (valeur && valeur.toString().trim() === valeurRecherchee) { const ligneTrouvee = i + ligneEntete + 1; const colonneTrouvee = colIndex + 1; const plage = feuille.getRange(ligneTrouvee, colonneTrouvee); feuille.setActiveRange(plage); SpreadsheetApp.getActiveSpreadsheet().toast(`✅ Cellule trouvée : ligne ${ligneTrouvee}, colonne ${colonneTrouvee}`, "Sélection", 5); return; } } SpreadsheetApp.getUi().alert("❌ Aucune cellule ne correspond à cette valeur."); }

Exemple d’utilisation

B8Nom
C8École Ibn Sina

Si la colonne Nom contient cette valeur à la ligne 15, alors la cellule Nom de la ligne 15 sera automatiquement sélectionnée.


🖱️ Bonus : Ajouter un bouton de déclenchement

  1. Allez dans Insertion > Dessin > Nouveau.

  2. Dessinez un bouton ou insérez une forme.

  3. Cliquez sur les 3 points du bouton > Affecter un script.

  4. Entrez le nom du script : SelectionnerCelluleSelonValeur.

Et voilà ! Vous pouvez maintenant cliquer pour retrouver et mettre en évidence une cellule spécifique sans chercher manuellement.


💡 Astuce

Ce script fonctionne parfaitement avec les tableaux structurés dans Google Sheets à partir d’une ligne d’en-tête fixe (ici la ligne 10). Assurez-vous que vos colonnes soient bien nommées et que les données commencent bien à partir de la ligne 11.

Commentaires

Posts les plus consultés de ce blog

🛠 Utilisation de CustomUIEditor pour Personnaliser le Ruban Excel

🗓️ Simulateur de Congés et Calendrier Collaboratif sous Google Sheets

Explication VBA : Facturation automatique Gestion client