Qu'est-ce que la fonction FILTRE ?
FILTRE (FILTER en anglais) est une des fonctions dynamiques les plus puissantes arrivées avec Excel 365. Elle extrait automatiquement du tableau source toutes les lignes qui correspondent à tes critères, et le résultat se met à jour en temps réel quand tes données changent.
Fini les filtres manuels à réappliquer à chaque modification : avec FILTRE, tu crées une vue filtrée qui reste toujours synchronisée avec tes données sources. C'est particulièrement puissant pour créer des tableaux de bord interactifs, des rapports automatiques ou des listes de produits en rupture. Tu peux extraire les ventes d'une seule région, identifier les candidats qui cochent plusieurs critères à la fois, signaler les départements ayant dépassé leur budget, ou encore croiser des conditions avec de simples multiplications et additions.

Comprendre chaque paramètre de la fonction FILTRE
Le réflexe à prendre : tu passes la plage entière à tableau, puis tu poses ta condition sur une seule colonne dans inclure. Avec =FILTRE(A2:E100; C2:C100="Paris"), tu testes la colonne C mais tu récupères bien tout, de A à E.
Ces deux premiers arguments sont obligatoires. Le troisième, [si_vide], est facultatif et c'est lui qui décide ce qui s'affiche quand aucune ligne ne colle, plutôt que de te laisser une erreur brute.
tableau
: la plage de données à filtrerTu peux spécifier une seule colonne comme A2:A100 ou un tableau complet comme A2:E100. La fonction retournera toutes les colonnes spécifiées pour les lignes qui correspondent au critère.
Si tu veux filtrer un tableau structuré (Tableau Excel mis en forme via Ctrl+T), tu peux utiliser son nom directement. FILTRE retourne alors toutes les colonnes de la ligne correspondante, ce qui évite de jongler avec les numéros de colonnes.
inclure
: ta condition de filtrageElle doit retourner VRAI ou FAUX pour chaque ligne du tableau. Par exemple, B2:B100>1000 retournera VRAI pour les lignes où la colonne B est supérieure à 1000.
Tu peux combiner plusieurs conditions avec * (ET logique : les deux doivent être vraies) ou + (OU logique : au moins une doit être vraie). Par exemple, (B2:B100>1000) * (C2:C100="Paris") sélectionne les lignes où B est supérieur à 1000 ET C est égal à "Paris". La plage de la condition doit avoir le même nombre de lignes que ton tableau.
[si_vide]
: la valeur à afficher si aucune ligne ne correspond à ton critère(facultatif)Sans ce paramètre, FILTRE retourne l'erreur #CALC! quand il n'y a pas de résultat.
Tu peux mettre un message comme "Aucun résultat trouvé", un 0, ou même "" pour une cellule vide. C'est très utile pour rendre tes rapports plus professionnels et éviter que tes utilisateurs s'inquiètent d'une erreur.

Exemples pratiques pas à pas
Comment filtrer un tableau sur un critère avec la fonction FILTRE
Le point hebdomadaire sur la région Nord tombe demain et ton tableau mélange les ventes des quatre régions. Tu as la liste complète de tes clients avec leur région et leur montant, et tu veux la vue Nord seule, posée à côté, sans toucher aux données sources. La fonction FILTRE extrait ces lignes d'un coup et te sort une vue qui reste juste au fil des nouvelles ventes, là où le filtre du ruban est à réappliquer à chaque modification.
- 1Dans une cellule, écris
=FILTRE(. - 2En 1er argument : sélectionne la plage à extraire en entier,
A2:C15. Elle couvre les colonnes Client, Région et Montant sur les quatorze lignes de ventes, et c'est bien cette plage complète que tu récupéreras, pas seulement la colonne sur laquelle tu poses ta condition. - 3En 2ᵉ argument : écris la condition qui départage les lignes,
B2:B15="Nord". Elle confronte chaque cellule de la colonne Région au mot cherché et vaut vrai ou faux ligne par ligne. Les guillemets autour de"Nord"sont obligatoires pour qu'Excel y voie du texte : sans eux, il y cherche un nom de plage qui n'existe pas et renvoie#NOM?. - 4Ferme la parenthèse et appuie sur Entrée.
=FILTRE(A2:C15; B2:B15="Nord")E4, elle déverse ensuite ses sept lignes et ses trois colonnes d'un bloc, sans aucune recopie, et une nouvelle vente dans le Nord viendra s'ajouter au résultat toute seule.Comment filtrer en comparant deux colonnes avec la fonction FILTRE
La clôture du mois approche et tu dois convoquer les seules équipes qui ont mangé plus que leur enveloppe. Chaque département a son budget d'un côté et son dépensé de l'autre, et le seuil de dépassement n'est donc pas le même d'une ligne à l'autre. La fonction FILTRE sait comparer les deux colonnes entre elles et ne garder que les lignes en dépassement.
- 1Dans une cellule, écris
=FILTRE(. - 2En 1er argument : sélectionne la plage du suivi budgétaire,
A2:C6. Tu la prends en entier pour que le résultat rappelle le nom du département avec ses deux chiffres, et tu poses la formule dans une zone libre à droite du tableau pour laisser la place au déversement. - 3En 2ᵉ argument : écris la comparaison qui met les deux colonnes face à face,
C2:C6>B2:B6. Chaque dépense est ainsi jugée contre le budget de sa propre ligne, sans que tu aies le moindre seuil à taper. Les deux plages doivent couvrir exactement le même nombre de lignes que le tableau, sinon la fonction FILTRE renvoie l'erreur#VALEUR!. - 4Ferme la parenthèse et appuie sur Entrée.
=FILTRE(A2:C6; C2:C6>B2:B6)Comment croiser plusieurs critères avec la fonction FILTRE
Cinquante candidatures sont tombées sur le poste et l'entretien de présélection est fixé à jeudi. Ta base liste chaque candidat avec ses années d'expérience et sa maîtrise de l'anglais, et tu ne veux voir que ceux qui ont au moins trois ans derrière eux et qui parlent anglais, les deux à la fois. La fonction FILTRE croise les deux critères dans une seule condition et te sort la liste courte.
- 1Dans une cellule, écris
=FILTRE(. - 2En 1er argument : sélectionne la base des candidats au complet,
A2:C6. Les trois colonnes y passent, si bien que la liste courte affichera le nom, l'expérience et l'anglais de chaque candidat retenu. - 3En 2ᵉ argument : écris les deux critères reliés par une étoile,
(B2:B6>=3) * (C2:C6="Oui"). Le premier retient les candidats à partir de trois ans d'expérience, le second ceux dont la colonne Anglais porte"Oui", et l'étoile impose de satisfaire les deux à la fois. Chaque critère va entre parenthèses car la multiplication passe avant la comparaison dans Excel : sans elles, le3serait multiplié par la colonne Anglais avant le moindre test. - 4Ferme la parenthèse et appuie sur Entrée.
=FILTRE(A2:C6; (B2:B6>=3) * (C2:C6="Oui"))+, qui joue le rôle du OU.Comment éviter l'erreur #CALC! avec la fonction FILTRE
Ton tableau de bord tourne en continu sur l'écran de l'entrepôt et doit lister les commandes en retard. Les bons jours, il n'y en a aucune, et la zone affiche alors une erreur au lieu d'une bonne nouvelle, ce qui déclenche invariablement un appel à l'aide. Le troisième argument de la fonction FILTRE règle le problème en affichant le message de ton choix quand le filtre ne ramène rien.
- 1Dans une cellule, écris
=FILTRE(. - 2En 1er argument : sélectionne la plage des commandes du jour,
A2:C5. Le numéro, le client et le statut y figurent tous les trois, donc une commande en retard ressortirait avec l'intégralité de sa ligne. - 3En 2ᵉ argument : écris la condition qui repère les retards,
C2:C5="En retard". Elle est parfaitement valable, mais ce jour-là elle vaut faux sur les quatre lignes et la fonction FILTRE se retrouve sans rien à renvoyer. - 4En 3ᵉ argument : saisis le message qui prend le relais quand aucune ligne ne colle,
"Aucune commande en retard". Sans lui, la cellule afficherait#CALC!, une erreur que tout le monde prend pour une formule cassée. C'est le réflexe qui sauve tous les tableaux de bord destinés à d'autres yeux que les tiens. - 5Ferme la parenthèse et appuie sur Entrée.
=FILTRE(A2:C5; C2:C5="En retard"; "Aucune commande en retard")#CALC!, que tout le monde prend pour une formule cassée. Le message passé en si_vide prend le relais et s'affiche à sa place, puis s'efface de lui-même dès qu'une commande bascule en retard et vient occuper la zone.
Les erreurs fréquentes avec la fonction FILTRE
Quand FILTRE renvoie un #CALC!, c'est en général qu'aucune ligne ne correspond à ton critère : le remède, c'est le 3e argument si_vide que tu as oublié de mettre. Le #VALEUR! raconte autre chose : ta plage de condition et ton tableau n'ont pas le même nombre de lignes, un C2:C5 face à un A2:B10. Et le #DÉVERSEMENT! n'a rien à voir avec ta formule, ce sont des cellules voisines déjà occupées qui empêchent le résultat de s'étaler.
#CALC! : aucun résultat ne correspond au critère
C'est l'erreur la plus courante avec FILTRE. Elle apparaît quand aucune ligne ne correspond à ton critère. Par exemple, si tu filtres par "Paris" mais qu'il n'y a que des lignes avec "Lyon", FILTRE ne peut rien retourner.
Solution : Ajoute toujours le 3e argument si_vide pour gérer ce cas : =FILTRE(tableau; critère; "Aucun résultat"). Tes formules restent robustes et professionnelles même quand le filtre ne retourne rien.
#VALEUR! : plages de tailles différentes
Cette erreur survient quand ton tableau et ta condition n'ont pas le même nombre de lignes. Par exemple, =FILTRE(A2:B10; C2:C5) ne fonctionnera pas car A2:B10 a 9 lignes mais C2:C5 seulement 4.
Solution : Vérifie que ta plage de condition couvre exactement le même nombre de lignes que ton tableau. Utilise F9 dans la barre de formule pour contrôler les références si nécessaire.
#DÉVERSEMENT! : pas assez de place pour le résultat
FILTRE a besoin de cellules vides pour « déverser » ses résultats. Si tu as des données dans les cellules en dessous ou à droite de la formule, Excel retourne cette erreur.
Solution : Déplace les données qui bloquent ou place ta formule FILTRE dans une zone avec suffisamment d'espace vide. Excel affiche un contour bleu autour de la zone de déversement pour visualiser l'espace nécessaire.
Tu cherches surtout à corriger l'erreur de propagation #PROPAGATION! affichée dans ta cellule, sans passer par la fonction FILTRE ? Consulte la fiche dédiée à l'erreur de propagation #PROPAGATION! pour comprendre toutes ses causes et comment la corriger.

Astuces avancées avec FILTRE
Imbrique FILTRE dans TRIER pour un rapport trié automatiquement
Pour obtenir un résultat filtré ET trié en une seule formule, imbrique FILTRE dans TRIER : =TRIER(FILTRE(A2:C100; B2:B100>1000); 3; -1). Les lignes où B dépasse 1000 sont extraites, puis triées par la 3e colonne en ordre décroissant.
Le rapport se met à jour seul dès que les données changent.
Filtre sur une partie de texte avec TROUVE
Pour filtrer par texte partiel, utilise TROUVE dans ta condition : =FILTRE(A2:C100; ESTNUM(TROUVE("Excel"; B2:B100))). ESTNUM teste si TROUVE a bien localisé le mot, ce qui retourne VRAI uniquement pour les lignes concernées.
La formule extrait toutes les lignes où la colonne B contient "Excel", quelle que soit sa position.
Branche une liste déroulante pour un filtre interactif
Place une liste déroulante en E1, puis filtre selon cette cellule : =FILTRE(A2:C100; B2:B100=$E$1; "Aucun résultat"). Le tableau se met à jour automatiquement à chaque nouvelle sélection.
Ce montage remplace un segment de tableau croisé pour des tableaux de bord légers.

FILTRE vs RECHERCHEV vs SI vs INDEX-EQUIV
Sors FILTRE dès que tu attends plusieurs lignes en retour et que le résultat doit suivre tes données en direct : RECHERCHEV et INDEX-EQUIV ne te ramènent qu'une seule correspondance, et il faut les relancer à la main.
Le vrai départage, c'est la version d'Excel : si tes destinataires sont sur une version antérieure à Office 365, FILTRE n'existe tout simplement pas chez eux, et RECHERCHEV ou INDEX-EQUIV redeviennent tes seules options.
| Critère | FILTRE | RECHERCHEV | SI | INDEX-EQUIV |
|---|---|---|---|---|
| Résultats multiples | ✅ Oui | ❌ Non (1 seul) | ❌ Non | ❌ Non (1 seul) |
| Mise à jour automatique | ✅ Dynamique | ⚠️ Manuel | ⚠️ Manuel | ⚠️ Manuel |
| Critères multiples | ✅ Facile (*, +) | ❌ Difficile | ⚠️ Complexe | ⚠️ Possible |
| Retourne toutes les colonnes | ✅ Toutes | ⚠️ Une seule | ⚠️ Une seule | ⚠️ Une seule |
| Compatibilité | ⚠️ Office 365+ | ✅ Toutes versions | ✅ Toutes versions | ✅ Toutes versions |
| Facilité d'usage | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐ |
Questions fréquentes
Non, FILTRE est disponible uniquement dans Excel 365 et Excel 2021+. Si tu as une version plus ancienne, tu devras utiliser des filtres automatiques classiques ou des formules avec SI et RECHERCHEV combinées.
Multiplie les conditions : =FILTRE(tableau; (colonne1="A") * (colonne2>100)). La multiplication agit comme un ET logique. Les deux conditions doivent être vraies pour que la ligne soit retournée dans le résultat.
Additionne les conditions : =FILTRE(tableau; (colonne="A") + (colonne="B")). L'addition agit comme un OU logique. Il suffit qu'une des conditions soit vraie pour que la ligne apparaisse dans le résultat.
Oui. FILTRE est une fonction dynamique. Si tu ajoutes, modifies ou supprimes des données dans ton tableau source, le résultat filtré se met à jour instantanément. C'est l'un de ses plus gros avantages sur les filtres manuels qui nécessitent une réapplication à chaque modification.
Pour aller plus loin
Continue sur ta lancée après la fonction FILTRE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




