Tu as un tableau qui déborde de lignes, et à chaque fois que tu cherches un nom, un produit ou une référence, tu fais Ctrl+F ou tu joues avec les filtres automatiques. Ça marche, mais ça te sort de ta feuille et ça n'a rien de fluide.
Il existe une façon bien plus élégante de faire : une vraie barre de recherche posée sur ta feuille. Tu tapes une lettre, et le tableau se réduit tout seul aux lignes qui correspondent, en direct, pendant que tu écris. Aucune macro, aucun code, juste une zone de texte reliée à une cellule et la fonction FILTRE.
Dans ce tuto, tu vas apprendre à insérer cette barre de recherche, à la relier à ta feuille et à écrire la formule qui fait tout le travail. Si Excel est encore récent pour toi, garde sous la main le guide Excel débutant pour les bases.
- Insérer une zone de texte qui sert de barre de recherche
- La relier à une cellule de ta feuille (cellule liée)
- Écrire la formule FILTRE qui lit ce que tu tapes
- Filtrer ton tableau en direct, lettre après lettre
- Le faire sans une seule ligne de macro
Le principe en une phrase
Une barre de recherche dynamique, c'est deux morceaux qui se parlent : une zone de texte qui recopie ce que tu tapes dans une cellule, et une fonction FILTRE qui relit cette cellule pour ne garder que les lignes qui commencent pareil.
Le secret tient dans la combinaison de deux fonctions. NBCAR compte le nombre de lettres que tu as tapées, et GAUCHE prend ce même nombre de lettres au début de chaque nom du tableau. Si les deux correspondent, la ligne reste, sinon elle disparaît. Tant que la barre est vide, tout s'affiche, et plus tu tapes, plus la liste se resserre.
Étape 1 : insérer la barre de recherche
La barre de recherche, c'est une zone de texte. Elle se trouve dans l'onglet Développeur. Si tu ne le vois pas dans ton ruban, active-le d'abord dans Fichier, Options, Personnaliser le ruban, en cochant Développeur.
Va dans Développeur, clique sur Insérer, et dans la partie Contrôles ActiveX, choisis la zone de texte (l'icône abl).

Ton curseur se transforme en croix. Dessine la zone à l'endroit où tu veux ta barre de recherche, en général juste au-dessus de ton tableau pour que ce soit naturel à l'usage.

Étape 2 : relier la barre à une cellule
Pour l'instant, ta zone de texte ne fait rien : ce que tu écris dedans ne va nulle part. Il faut la brancher sur une cellule, celle que la formule ira lire ensuite.
Assure-toi que le Mode Création est actif (il s'allume tout seul juste après le dessin), fais un clic droit sur la zone de texte et choisis Propriétés. Dans la longue liste, trouve la ligne LinkedCell (cellule liée) et tape la référence d'une cellule libre, ici C6. Peu importe laquelle, du moment qu'elle ne sert à rien d'autre.

Ferme le panneau des Propriétés. À partir de maintenant, tout ce que tu écris dans la barre atterrit dans C6. C'est cette cellule qui va piloter la recherche.
Étape 3 : la formule FILTRE qui fait la recherche
On arrive au cœur du système. Place-toi dans une cellule vide, à côté de ta zone de résultats, et écris la fonction FILTRE. Dans l'exemple, le tableau source occupe la plage I20:M319 et les noms recherchés sont dans la colonne I.
=FILTRE(I20:M319 ; GAUCHE(I20:I319 ; NBCAR(C6)) = C6 ; "aucune correspondance")
Décortiquons. I20:M319 est le tableau à renvoyer. NBCAR(C6) compte les lettres tapées dans la barre. GAUCHE(I20:I319 ; NBCAR(C6)) prend ce nombre de lettres au début de chaque nom, et on compare le tout à C6 : les lignes qui commencent comme ta recherche restent. Le dernier argument, entre guillemets, s'affiche quand rien ne correspond.

Valide avec Entrée. Sur ton propre tableau, adapte juste les plages : la plage complète des données, puis la colonne sur laquelle tu veux chercher.
=FILTRE(plage_données ; GAUCHE(colonne_recherchée ; NBCAR(cellule_liée)) = cellule_liée ; "aucune correspondance")
Le résultat : ta barre de recherche filtre en direct
Barre vide, le tableau s'affiche en entier : normal, tu n'as encore rien filtré.

Maintenant, tape une lettre dans la barre. Le tableau se recalcule instantanément et ne garde que les lignes qui commencent par ce que tu écris. Un J, et tu ne vois plus que les Jacqueline, Jean, Jérôme et Julien.

On dirait de la magie, sauf que ce n'est pas de la magie : c'est Excel utilisé correctement. Ta feuille se comporte comme un vrai moteur de recherche, et n'importe qui peut retrouver une ligne en une seconde, sans toucher à une seule formule.
Pour aller plus loin
Cette barre de recherche est une brique d'interactivité, et Excel en propose d'autres du même genre. Les cases à cocher et les segments transforment eux aussi une feuille figée en outil vivant. Assemblés, ils composent un vrai tableau de bord Excel. Et si tu veux comparer avec les fonctions de recherche classiques, regarde RECHERCHEV contre RECHERCHEX.
Questions fréquentes
Comment créer une barre de recherche dans Excel ?
Insère une zone de texte ActiveX depuis l'onglet Développeur, relie-la à une cellule libre avec la propriété LinkedCell, puis écris une formule FILTRE qui lit cette cellule. Le tableau se filtre au fur et à mesure que tu tapes, sans macro.
Quelle formule pour filtrer un tableau quand on tape ?
La formule est =FILTRE(plage ; GAUCHE(colonne ; NBCAR(cellule_liée)) = cellule_liée ; "aucune correspondance"). NBCAR compte les lettres tapées, GAUCHE prend ce nombre de lettres au début de chaque valeur, et FILTRE ne garde que les lignes qui correspondent.
La fonction FILTRE n'existe pas chez moi, pourquoi ?
FILTRE est une fonction récente, disponible seulement sur Excel 365 et Excel 2021. Sur Excel 2019 ou plus ancien, elle n'apparaît pas. Il faut alors passer par un filtre avancé, un tableau structuré filtré, ou une fonction comme RECHERCHEX.
Faut-il une macro pour cette barre de recherche ?
Non, aucune macro et aucun code VBA. La zone de texte recopie ce que tu tapes dans une cellule grâce à sa propriété LinkedCell, et c'est la fonction FILTRE qui fait tout le reste.
La zone de texte ActiveX fonctionne-t-elle sur Mac ?
Les contrôles ActiveX ne sont pas disponibles sur Excel pour Mac. Sur Mac, saute la zone de texte et tape ta recherche directement dans la cellule liée, ou utilise une cellule dédiée comme champ de recherche. La formule FILTRE, elle, fonctionne pareil.
Comment chercher au milieu d'un mot et pas seulement au début ?
GAUCHE compare uniquement le début du texte. Pour retrouver un mot où qu'il se trouve, remplace la condition par ESTNUM(CHERCHE(cellule_liée ; colonne_recherchée)) : cette version garde toutes les lignes qui contiennent ta recherche, même en plein milieu.