Structure utilisée pour la Création d'une liste déroulante semi-automatique pour rechercher dans Excel
Structure utilisée pour la Création d'une liste déroulante semi-automatique pour rechercher dans Excel
✅ Objectif :
Permettre à l'utilisateur de taper une partie du nom d’un client dans une
cellule (ex: Facture!A12) et d’obtenir automatiquement une liste filtrée de clients
correspondants.
Définition des plages nommées exemple liste école
Ajouter une liste de ce que vous voulez exemple liste école.
Dans Feuille Recherche :
-
Colonne A : Liste complète des clients (
Client_facture) - je peux les apporter d'une autre feuille où il y a tout les client dans A2 j'écris =Nom_Client_source
- 🎯 Objectif :
- Afficher automatiquement la liste complète des clients (par exemple dans la colonne A d'une feuille "Recherche"), à partir d’une plage de données située dans une autre feuille (par exemple "BaseClients" ou bie "Param CL & PRIX").
- ✅ Étapes à suivre :
- 1. Créer une plage nommée
- Va sur la feuille où se trouvent tous les clients, par exemple "BaseClients".
- Sélectionne la colonne (ou plage) contenant les noms des clients, par exemple B2:B100. le meilleur c'est qu'il soit sous forme d'un tableau

- Va dans Formules > Gestionnaire de noms (ou Ctrl + F3) et crée un nom de plage :
- Nom : Nom_Client_source
- Fait référence à : =BaseClients!$B$2:$B$100 si c'est un tableau =Clients[Nom Facture]
- ✅ Ce nom permet d'accéder à cette plage depuis n'importe quelle feuille.
-
Colonne B : Numéros de ligne :
=SI(A2<>"";LIGNES($A$2:A2);"")→ Sert de compteur -
Colonne C (Facture_recherche) : Recherche par mot-clé =
=SI(ESTNUM(CHERCHE(Facture!$A$12;A2));B2;"")
Cela vérifie si le texte tapé dans Facture!A12 est contenu dans un nom client de la colonne A.
-
Colonne D : Liste triée des numéros trouvés =
Cela extrait les lignes valides (triées du plus grand au plus petit).
-
Colonne H : Liste finale des clients correspondants =
C’est avec cette dernière que nous souhaitons créer notre liste déroulante. Notez que votre liste doit être triée par ordre alphabétique sans quoi votre liste ne fonctionnera pas correctement et que les noms peuvent être modifiés, mais n’oubliez pas de mettre vos propres noms dans les formules.
Premier élément de liste
Placez-vous à la première cellule de la colonne de votre liste, et dans la Zone Nom, remplacez exemple : H2 (voir figure 1) par D_ecole (voir figure 2) (comme première école) et appuyez sur Entrée. Cette action peut aussi être exécutée avec le Gestionnaire de noms (voir figure 3) de l’onglet Formules, mais c’est plus rapide de cette manière.
Toutes les éléments
🏷️ Plages nommées utilisées :
-
Client_facture→'Recherche!$A$2:$A$1000 -
Facture_recherche→'Recherche!$C$2:$C$1000 -
D_ecole→'Recherche'!$H$2 -
c_ecole→'Recherche!$H$2:$H$100
Formule nommée
figure 4La formule DECALER se décompose de cette manière :
- Réf correspond à la référence par rapport à laquelle le décalage doit être effectué ;
- Lignes correspond au nombre de lignes vers le haut ou le bas dont la cellule supérieure gauche de la référence renvoyée doit être décalée ;
- Colonnes correspond au nombre de colonnes vers la droite ou la gauche dont la cellule supérieure gauche de la référence renvoyée doit être décalée ;
- Hauteur est la hauteur, en nombre de lignes, attendue pour le résultat. Cette hauteur est calculée automatiquement grâce à la formule NBVAL qui compte le nombre de cellules non vides ;
- Largeur est la largeur, en nombre de colonnes, attendue pour le résultat.
🧩 Décomposition de la formule
Cette formule utilise la fonction
DECALER pour
définir une plage dynamique
à partir d’un point de départ (D_ecole), avec une
hauteur variable selon le
nombre de valeurs présentes dans
c_ecole.
1. D_ecole
C’est la
cellule de départ (ou plage
d’une seule colonne) à partir de laquelle le décalage commence. Par exemple,
cela pourrait être une cellule comme
A2.
2. 0;0
Cela signifie pas de décalage :
-
0ligne en dessous -
0colonne à droite
Donc on reste surD_ecole.
3. NBVAL(c_ecole)
C’est le
nombre de cellules non vides
dans la plage nommée
c_ecole.
→ Cela détermine
la hauteur de la nouvelle
plage générée.
Par exemple, si
c_ecole contient 5 lignes
remplies, la nouvelle plage fera 5 lignes de hauteur.
4. 1
C’est la largeur de la plage retournée (1 colonne).
🎯 Ce que fait concrètement cette formule
Elle renvoie une plage
verticale commençant à
D_ecole, s'étendant sur
autant de lignes non vides
qu’il y en a dans c_ecole, et
sur 1 colonne.
✅ À quoi ça sert ?
Cette formule est souvent utilisée pour créer une plage dynamique qu'on peut ensuite utiliser :
-
dans une liste déroulante (validation de données),
-
dans un tableau croisé dynamique,
-
ou pour alimenter des graphiques dynamiques.
Création de la liste déroulante semi-automatique
Sélectionnez ensuite les cellules ou vous voulez créez une liste automatique et allez dans l’onglet Données > Validation des données
✅ EXSEMPLE Liste déroulante dans Facture!A12 :
-
Tu vas dans Données > Validation des données
-
Autoriser : Liste dans l’onglet Options de la boîte de dialogue, et gardez cochées les cases Ignorer si vide et Liste déroulante dans la cellule.
-
dans Source : =DECALER(D_ecole;0;0;NBVAL(c_ecole);1)
Cela permet à la liste de ne contenir que les noms correspondant à la recherche.
✨ Résultat :
Quand l'utilisateur commence à taper un nom dans
Facture!A12, une liste
dynamique s'affiche avec uniquement les noms contenant ce texte. Facile,
propre et très utile pour les longues listes !



Commentaires
Enregistrer un commentaire