ElyxAI

Erreur #CALC! dans FILTRE : comment la corriger

#CALC!
+FILTRE

La 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'évaluation

Ré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 formule

Critè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éens

Solution pas à pas

  1. 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
  2. 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
  3. 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!
  4. 4Assurez-vous que votre critère de comparaison utilise un opérateur valide (=, <>, >, <, >=, <=) et non un opérateur invalide ou mal formaté
  5. 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
  6. 6Appuyez sur Ctrl+Maj+Entrée si vous êtes sur Excel 2019/2016 pour confirmer que FILTRE fonctionne en tant que formule matricielle
  7. 7Si le problème persiste, enveloppez votre formule avec SIERREUR pour identifier l'erreur exacte : =SIERREUR(FILTRE(...), "Erreur: vérifier critères")
  8. 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 :

Vous êtes bloqué par l'erreur #CALC! dans votre formule FILTRE ? ElyxAI détecte et corrige automatiquement ce type d'erreur en quelques secondes. Testez gratuitement maintenant et dites adieu aux formules défaillantes.

Voir aussi