SIERREUR dans Excel : masquer et remplacer les erreurs proprement
Votre RECHERCHEV renvoie #N/A, votre division renvoie #DIV/0!, votre tableau de bord est parsemé de messages d'erreur rouges. La solution : envelopper n'importe quelle formule avec SIERREUR pour remplacer ces erreurs par un texte clair, un zéro, ou une valeur de secours.
Syntaxe
=SIERREUR(valeur; valeur_si_erreur)
valeur: la formule à surveiller (RECHERCHEV, division, INDIRECT…)valeur_si_erreur: ce qu'afficher si une erreur se produit
SIERREUR intercepte toutes les erreurs Excel : #N/A, #DIV/0!, #VALEUR!, #REF!, #NOM?, #NUL!, #NOMBRE!.
🧪 Simulateur — testez SIERREUR en direct
Exemples essentiels
SIERREUR + RECHERCHEV (le classique)
=SIERREUR(RECHERCHEV(A2; tableau; 2; 0); "Inconnu")
Si A2 n'est pas trouvé dans le tableau, la cellule affiche "Inconnu" au lieu de #N/A. Parfait pour les rapports partagés avec des non-techniciens.
SIERREUR + RECHERCHEX (version moderne)
=SIERREUR(RECHERCHEX(A2; B:B; C:C); "—")
RECHERCHEX a son propre argument de valeur par défaut, mais SIERREUR reste utile pour intercepter #VALEUR! ou #REF! qu'un argument vide ne couvrirait pas.
Division sécurisée
=SIERREUR(C2/D2; 0)
Si D2 est vide ou zéro, la formule renvoie 0 au lieu de #DIV/0!. Très courant dans les calculs de taux et pourcentages.
SIERREUR imbriqué : plusieurs tentatives successives
=SIERREUR(RECHERCHEV(A2; Table1; 2; 0);
SIERREUR(RECHERCHEV(A2; Table2; 2; 0); "Introuvable"))
Cherche d'abord dans Table1, si non trouvé cherche dans Table2, et si toujours pas trouvé affiche "Introuvable". Technique classique pour consolider plusieurs référentiels.
Renvoyer une cellule vide (pas un texte)
=SIERREUR(formule; "")
La cellule paraît vide, mais attention : elle contient la chaîne vide "", pas vraiment rien. Si vos formules en aval testent ESTVIDE(), elles verront FAUX. Pour un vrai vide, utilisez SI(ESTERREUR(formule); ; formule) — plus lourd mais rigoureusement vide.
SIERREUR.VIDE — variante spécifique à #N/A
=SIERREUR.VIDE(RECHERCHEV(A2; tableau; 2; 0); "Non trouvé")
SIERREUR.VIDE n'intercepte que l'erreur #N/A, pas les autres. Utile quand vous voulez que #DIV/0! ou #VALEUR! reste visible (signaux d'alerte légitimes), mais que les "non-trouvés" soient masqués.
| Erreur | SIERREUR | SIERREUR.VIDE |
|---|---|---|
| #N/A | ✅ interceptée | ✅ interceptée |
| #DIV/0! | ✅ interceptée | ❌ reste visible |
| #VALEUR! | ✅ interceptée | ❌ reste visible |
| #REF! | ✅ interceptée | ❌ reste visible |
Pièges à connaître
- SIERREUR cache les vrais bugs : si votre formule a une erreur de logique (mauvaise plage, mauvais séparateur de milliers), SIERREUR la masque silencieusement. Développez et testez sans SIERREUR, puis ajoutez-le une fois que la formule est correcte.
- Performance : sur des milliers de lignes, SIERREUR avec RECHERCHEV est plus lent qu'un RECHERCHEX bien paramétré — ce dernier a un argument de valeur par défaut natif (4ème argument) qui ne recalcule pas deux fois.
- SIERREUR ne fonctionne pas avec les erreurs de syntaxe : si votre formule contient une erreur de syntaxe (parenthèse manquante), Excel refuse de valider la cellule — SIERREUR ne peut rien faire.
ESTERREUR et ESTERR : les alternatives conditionnelles
Avant Excel 2007, on écrivait :
=SI(ESTERREUR(RECHERCHEV(A2;tableau;2;0)); "Introuvable"; RECHERCHEV(A2;tableau;2;0))
Cette méthode calcule la formule deux fois. SIERREUR est toujours préférable — plus lisible, plus performant. Ne gardez la forme SI+ESTERREUR que si vous devez distinguer le type d'erreur (ex : traitement différent pour #N/A vs #VALEUR!).
=SI(ESTERREUR.NA(RECHERCHEV(A2;tableau;2;0)); "Non trouvé";
SI(ESTERREUR(RECHERCHEV(A2;tableau;2;0)); "Erreur de données";
RECHERCHEV(A2;tableau;2;0)))
Guide des erreurs Excel → RECHERCHEX RECHERCHEX guide complet