Erreur #CALC! dans FILTRE : comment la corriger
#CALC!FILTRELa formule FILTRE est puissante, mais elle génère régulièrement l'erreur #CALC! chez les utilisateurs. Cette erreur apparaît généralement quand le critère d'inclusion ne correspond pas aux dimensions de la matrice, ou quand la syntaxe du paramètre "inclure" est mal structurée. Un oubli de parenthèses, une référence de plage incorrecte ou une logique booléenne défaillante suffisent à déclencher le problème. Bonne nouvelle : c'est un problème extrêmement courant et tout à fait résoluble. Neuf fois sur dix, quelques ajustements simples éliminent l'erreur. Que vous ayez inversé vos plages, omis un opérateur logique ou utilisé des dimensions incompatibles, les solutions sont directes et rapides à appliquer. Cet article vous guide à travers les causes principales et vous montre comment corriger FILTRE en quelques secondes.
Pourquoi FILTRE cause #CALC!
Critère d'inclusion incompatible avec la matrice
Le tableau de critères (paramètre 'inclure') n'a pas les mêmes dimensions que la matrice filtrée, ou contient des valeurs booléennes invalides. FILTRE attend des VRAI/FAUX qui correspondent ligne par ligne à la matrice.
=FILTRE(A1:C100; D1:D50) où le critère D1:D50 a 50 lignes au lieu de 100, causant un décalage d'évaluationRéférence circulaire ou matrice auto-référencée
La matrice à filtrer contient une référence à la cellule où se trouve la formule FILTRE elle-même, créant une boucle infinie. Excel ne peut pas calculer une formule qui dépend de son propre résultat.
Formule en A1: =FILTRE(A:A; B:B) où la matrice A:A inclut la cellule A1 qui contient la formuleCritère d'inclusion avec des erreurs ou valeurs non booléennes
Le paramètre 'inclure' contient des #N/A, #DIV/0! ou des valeurs texte/numériques au lieu de booléens (VRAI/FAUX). FILTRE propage ces erreurs et bloque le calcul.
=FILTRE(A1:C100; IFERROR(RECHERCHEV(A1:A100;Z:Z;1;0);"erreur")) où IFERROR retourne du texte au lieu de booléensSolution pas à pas
- 1Cliquez sur la cellule affichant #CALC! et appuyez sur F2 pour entrer en mode édition et examiner la formule complète dans la barre de formule
- 2Vérifiez que le critère de filtrage (3e argument) n'est pas vide ou invalide - la formule FILTRE exige un critère explicite et une condition logique valide
- 3Contrôlez que la plage de données (1er argument) et la plage de critères (2e argument) ont le même nombre de lignes - un décalage provoque #CALC!
- 4Assurez-vous que votre critère de comparaison utilise un opérateur valide (=, <>, >, <, >=, <=) et non un opérateur invalide ou mal formaté
- 5Testez si votre critère retourne bien des résultats booléens (VRAI/FAUX) en créant une colonne d'aide temporaire avec juste la condition pour isoler le problème
- 6Appuyez sur Ctrl+Maj+Entrée si vous êtes sur Excel 2019/2016 pour confirmer que FILTRE fonctionne en tant que formule matricielle
- 7Si le problème persiste, enveloppez votre formule avec SIERREUR pour identifier l'erreur exacte : =SIERREUR(FILTRE(...), "Erreur: vérifier critères")
- 8Supprimez la formule (Suppr), puis retapez-la entièrement ou utilisez l'assistant de fonction (Maj+F3) pour vous guider dans la syntaxe correcte
Exemple concret
Filtrage des commandes clients par montant minimum
Un responsable commercial utilise FILTRE pour extraire les commandes supérieures à un seuil donné. Les données incluent des montants en devises mixtes et des valeurs texte mal formatées.
Avant (erreur)
=FILTRE(A2:D100;D2:D100>1000)Après (corrigé)
=FILTRE(A2:D100;VALEUR(SUBSTITUER(SUBSTITUER(D2:D100;"€";);" ";))>1000)Problème : L'erreur #CALC! apparaît car FILTRE tente de comparer des montants contenant du texte (symboles €, espaces) avec un nombre. La formule ne peut pas effectuer l'opération mathématique de comparaison.
Solution : Convertir les montants en nombres purs avec VALEUR() et SUBSTITUER() avant la comparaison dans FILTRE.
Conseil de prévention
Vérifiez que votre critère de filtre retourne au moins une ligne correspondante et que vos plages (données et critère) ont des dimensions compatibles. Si le filtre ne trouve aucun résultat, utilisez IFERROR pour gérer l'erreur : =IFERROR(FILTRE(...), "Aucun résultat").
Outils gratuits pour corriger vos formules
Utilisez ces outils gratuits pour éviter cette erreur :
Générateur de Formules Excel
Décrivez ce que vous voulez calculer et obtenez la formule Excel instantanément
Générateur RECHERCHEV
Générez des formules RECHERCHEV instantanément en décrivant votre besoin en français
Expliqueur de Formules Excel
Collez n'importe quelle formule Excel et obtenez une explication claire, étape par étape, propulsée par l'IA.