Aller au contenu principal
Mis à jour le

Comprendre et corriger l'erreur #DIV/0! dans Excel

L'erreur #DIV/0! est le code qu'Excel affiche quand une formule divise par zéro ou par une cellule vide, qu'il traite comme un zéro. Elle vient presque toujours d'un dénominateur pas encore renseigné, d'un ratio dont le total tombe à zéro ou d'une moyenne calculée sur une plage vide. Son libellé reste #DIV/0! en français comme en anglais.

Cellule Excel affichant l'erreur #DIV/0! avec le triangle vert d'alerte, provoquée par une division par zéro ou par une cellule vide
L'erreur #DIV/0! survient lorsqu'une formule divise par zéro ou par une cellule vide.

Que signifie l'erreur #DIV/0! dans Excel

#DIV/0! veut dire qu'une formule a tenté une division par zéro, une opération qui n'a pas de résultat en mathématiques. Plutôt que d'inventer une valeur, Excel s'arrête et écrit le code à la place du résultat. La formule est correcte, c'est le dénominateur qui rend le calcul impossible.

Le point qui surprend, c'est qu'une cellule vide compte comme un zéro dans une division. Un dénominateur laissé en attente déclenche donc exactement la même erreur qu'un zéro tapé à la main, sans qu'aucune valeur ne soit visible à l'écran. C'est ce qui rend le #DIV/0! si fréquent sur un tableau en cours de remplissage.

C'est aussi la plus simple des erreurs Excel à diagnostiquer, parce qu'elle ne pointe jamais qu'un seul endroit, le dénominateur. Là où un #VALEUR! ou un #N/A demandent d'enquêter sur le type ou la présence d'une donnée, un #DIV/0! te laisse une seule question à trancher, celle de savoir si ce zéro est normal ou non.

Le piège
Un SIERREUR posé autour de toute la formule éteint aussi les erreurs que tu ne visais pas. Une adresse cassée ou une donnée du mauvais type, cachée derrière le vide que tu croyais réserver à la division par zéro, passera alors totalement inaperçue.

Comment corriger l'erreur #DIV/0! dans Excel

Corriger un #DIV/0! commence par une question : le zéro au dénominateur est-il normal ou anormal ? S'il est normal, comme une case pas encore remplie, masque le résultat proprement ; s'il trahit une vraie erreur de calcul, remonte à la cellule fautive plutôt que de la cacher.

  1. 1Repère d'abord le dénominateur de ta division : la cellule qui vaut zéro, ou celle qui est encore vide et qu'Excel compte comme un zéro. C'est toujours elle qui déclenche l'erreur, jamais le numérateur.
  2. 2Si ce zéro est normal parce que la donnée n'est pas encore saisie, enveloppe la division dans SIERREUR pour afficher une cellule vide à la place, avec `=SIERREUR(A1/A2;"")`.
  3. 3Pour ne masquer que la division par zéro sans étouffer les autres erreurs, teste plutôt le dénominateur avec SI : `=SI(A2=0;"";A1/A2)` ne réagit qu'à un zéro et laisse passer un vrai bug.
  4. 4Pour une moyenne, passe par la fonction MOYENNE plutôt que par une division à la main : elle ignore les cellules vides et ne renvoie #DIV/0! que si la plage n'a strictement aucun nombre.
L'astuce en plus
Dans un tableau destiné à être lu, =SI(B2=0;"-";C2/B2) affiche un tiret à la place du ratio impossible. Le lecteur voit alors que la cellule a bien été calculée mais qu'il manquait un dénominateur, là où un vide se confond avec une case jamais remplie.

Pourquoi #DIV/0! s'affiche alors que la cellule n'est pas à zéro

Le cas le plus courant n'est pas une vraie division par zéro, mais une division par une cellule encore vide. Excel assimile une cellule sans contenu à un zéro dès qu'elle sert de dénominateur, et le calcul bascule aussitôt en #DIV/0!, même si tu n'as jamais tapé de zéro nulle part.

Ça arrive surtout quand tu prépares un tableau avant d'avoir les données. Tu étires une formule de ratio, =C2/B2 par exemple, sur toutes les lignes du trimestre à venir, et chaque ligne encore vide affiche l'erreur tant que son dénominateur n'est pas renseigné. Le tableau se couvre de #DIV/0! alors que rien n'est faux, tout est simplement en attente.

Le réflexe est de protéger la division dès la première saisie, avant même d'avoir les données. La cellule reste alors vide tant que le dénominateur l'est, puis affiche le ratio dès que la valeur arrive, et le tableau garde une allure propre du premier jour au dernier.

Tableau de suivi de campagnes Excel où les semaines à zéro clic affichent #DIV/0! et où la colonne protégée avec SI reste vide.
Les semaines encore à zéro clic affichent #DIV/0!, la colonne protégée par SI reste vide en attendant les données.

Pourquoi une MOYENNE renvoie #DIV/0!

Une MOYENNE bascule en #DIV/0! quand elle ne trouve aucune valeur à moyenner. La fonction additionne les nombres puis divise par leur compte, et si ce compte tombe à zéro, la division devient impossible. C'est le cas d'une plage entièrement vide, ou qui ne contient que du texte.

Là où beaucoup se trompent, c'est que MOYENNE ne compte pas les cellules vides. Une plage de dix cases dont trois seulement sont remplies donne la moyenne de ces trois valeurs, pas une division par dix. L'erreur ne surgit donc que lorsque la plage n'a strictement aucun nombre, pas dès qu'un trou apparaît au milieu.

Le piège revient en revanche si tu recalcules une moyenne à la main, avec une SOMME divisée par un NB. Sur une plage vide, =SOMME(plage)/NB(plage) divise par zéro et renvoie #DIV/0!, là où MOYENNE se serait protégée toute seule. Autant garder la fonction, et ne l'envelopper dans SIERREUR que si la plage peut rester sans aucune donnée.

Quelle différence entre #DIV/0! et les autres erreurs #N/A ou #VALEUR!

Les codes d'erreur d'Excel prennent tous la même place dans la cellule, mais chacun raconte un problème différent. Le #DIV/0! signale une division impossible, presque toujours un dénominateur nul ou vide, sans que la formule ni les données soient en cause ailleurs.

Le #VALEUR! répond à un tout autre cas, une donnée du mauvais type, du texte là où un nombre est attendu. Le #N/A vient des fonctions de recherche comme RECHERCHEV qui n'ont pas trouvé la valeur demandée, et le #REF! d'une adresse supprimée du classeur. Aucun de ces trois ne parle de division.

Cette différence guide la réparation. Un #DIV/0! se règle en protégeant le dénominateur ou en attendant la donnée, là où un #VALEUR! réclame de remettre le bon type, un #N/A de compléter les valeurs cherchées et un #REF! de reconstruire une référence perdue. Reconnaître le code, c'est déjà savoir où chercher.

Le savais-tu ?
Pour Excel, une cellule vide est à la fois égale à 0 et à "". Un test =SI(B2=0;…) attrape donc un dénominateur pas encore rempli aussi bien qu'un =SI(B2="";…), mais seul le test sur zéro couvre aussi un vrai zéro déjà tapé.
FAQ

Questions fréquentes sur l'erreur #DIV/0!

Enveloppe ta division dans SIERREUR en précisant la valeur de repli : =SIERREUR(A2/B2;0) affiche 0 et =SIERREUR(A2/B2;"") laisse la cellule vide. Tu peux aussi tester le dénominateur avec SI, comme =SI(B2=0;0;A2/B2). Garde en tête qu'un 0 peut tromper le lecteur, qui ne sait pas s'il s'agit d'un vrai résultat ou d'un bouche-trou ; une cellule vide ou un tiret disent plus clairement qu'il manque une donnée.

Ressources

Du mot à la pratique

Tu sais maintenant ce que le mot veut dire. Reste à s’en servir : la formule, le fichier, et le cours qui remet tout dans l’ordre.

Tout le lexique