🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel ABS & SIGNE — valeur absolue, grandeur et le signe que l'on écarte

|

Excel ABS & SIGNE — valeur absolue, grandeur et le signe que l'on écarte

En bref — Tout nombre porte deux informations : sa taille (grandeur) et le sens dans lequel il pointe (signe). ABS(nombre) conserve la taille et abandonne la direction — ABS(-7) et ABS(7) renvoient tous deux 7. SIGNE(nombre) fait l'inverse : il conserve la direction sous la forme -1, 0 ou +1 et abandonne la taille. L'usage phare d'ABS est de comparer sans se soucier de la direction — un test de tolérance s'écrit =ABS(A-B)<=tol, jamais =A-B<=tol. Et les deux fonctions se combinent en une identité soignée : nombre = SIGNE(nombre) * ABS(nombre).

=ABS(-7)        ' -> 7      grandeur : distance à zéro
=ABS(7)         ' -> 7
=SIGNE(-7)      ' -> -1     direction seule
=SIGNE(0)       ' -> 0      trois issues, pas deux
=ABS(Réel - Prévision) <= 0,05 * Prévision   ' à 5 % près ? (direction ignorée)

La plupart des problèmes du type « pourquoi mon écart est-il négatif une fois sur deux ? » et « mon test de tolérance laisse passer d'énormes erreurs » se ramènent à une seule confusion : recourir à la valeur d'un nombre alors qu'il vous fallait en réalité sa grandeur. ABS et SIGNE sont les deux fonctions qui vous permettent de les séparer à dessein.

Ce que vous allez apprendre

  • Le modèle mental : un nombre est grandeur × direction
  • Pourquoi un test de tolérance/d'écart a besoin de ABS(A-B), pas de A-B
  • À quoi sert vraiment SIGNE : classification et détection de croisements
  • L'identité x = SIGNE(x) * ABS(x) et où elle est payante
  • Pourquoi SIGNE(0)=0 est un résultat à trois branches qu'il faut gérer
  • Quand ne pas utiliser ABS — le signe qu'il masque est peut-être un bug

Le modèle mental : grandeur × direction

Imaginez une droite graduée. Tout nombre se décrit par deux choses indépendantes : sa distance à zéro (grandeur) et de quel côté de zéro il se situe (direction). ABS répond à la première question et oublie la seconde ; SIGNE répond à la seconde et oublie la première :

=ABS(-250)     ' -> 250    « à quelle distance de zéro » — 250, direction abandonnée
=SIGNE(-250)   ' -> -1     « de quel côté » — négatif, taille abandonnée

Garder ces deux questions séparées, c'est tout le savoir-faire. Dès que vous demandez « quelle est la taille de l'écart entre la prévision et le réel ? », vous voulez la grandeur, et le signe est du bruit. Dès que vous demandez « ce compte a-t-il gagné ou perdu ? », vous voulez la direction, et la taille est du bruit. Les bugs surviennent quand on utilise la valeur brute — qui mélange les deux — pour une question qui n'en demandait qu'une.

L'usage phare : les tests de tolérance ont besoin d'ABS

C'est le schéma le plus important de cette page. Vous voulez signaler quand deux nombres diffèrent de plus d'une certaine tolérance. Le test naïf est silencieusement défaillant :

=SI(Réel - Prévision > 5; "hors seuil"; "ok")          ' BUG
=SI(ABS(Réel - Prévision) > 5; "hors seuil"; "ok")     ' correct

La première version ne détecte les erreurs que dans une seule direction. Si Réel arrive bien en dessous de Prévision, Réel - Prévision est un grand nombre négatif, qui n'est pas supérieur à 5 : le test répond donc « ok » alors que votre nombre est totalement à côté. Une différence dont vous testez la taille doit être enveloppée dans ABS, car ce qui compte est l'ampleur de l'écart, pas le côté vers lequel il penche. La même logique gouverne l'écart absolu moyen — une mesure de dispersion plus propre que l'« erreur moyenne », qui s'annule d'elle-même :

=SOMMEPROD(ABS(données - MOYENNE(données))) / NB(données)   ' écart absolu moyen

Sans ABS, les écarts positifs et négatifs s'annulent et vous obtenez ≈0 — précisément le piège que SOMMEPROD est fait pour éviter quand vous lui fournissez des valeurs absolues.

À quoi sert vraiment SIGNE : classer et détecter les croisements

SIGNE réduit n'importe quel nombre à l'un de trois jetons — -1, 0, +1 — ce qui en fait un classificateur compact et un détecteur de changement. Deux usages justifient son existence :

=SIGNE(Variation)                          ' -1 perte / 0 stable / +1 gain, en une colonne
=SI(SIGNE(B3) <> SIGNE(B2); "croisement"; "")   ' repère où une série croise zéro

Le second est l'usage astucieux. Un changement de signe entre deux lignes consécutives signifie que la série est passée par zéro — un prix qui franchit le seuil de rentabilité, un solde qui devient négatif, un capteur dont la polarité s'inverse. Comparer des valeurs de SIGNE détecte le croisement sans la gymnastique laborieuse d'un ET(B2>0; B3<0). SIGNE est aussi le partenaire naturel d'un multiplicateur directionnel : =Quantité * SIGNE(Flux) applique +1/−1 sans SI.

L'identité qui les relie

Voici tout le concept condensé en une ligne :

nombre = SIGNE(nombre) * ABS(nombre)

La direction fois la grandeur reconstruit le nombre d'origine. Cela ressemble à une curiosité jusqu'au moment où vous devez reconstituer une valeur à partir de ses composantes — le cas le plus utile étant de prendre une racine impaire d'un nombre négatif, ce que l'élévation brute à une puissance refuse (=(-8)^(1/3) donne #NOMBRE!, comme l'explique le guide PUISSANCE & RACINE) :

=SIGNE(-8) * ABS(-8)^(1/3)    ' -> -2    racine cubique d'un négatif, signe préservé

Vous calculez la racine sur la grandeur (ce qui est toujours licite) et vous y réagrafez le signe d'origine. C'est l'identité qui prouve son utilité.

SIGNE(0) = 0 est un résultat à trois branches

Ne présumez pas que SIGNE est binaire. Il renvoie trois valeurs possibles, et la troisième — 0 pour une entrée exactement nulle — est celle qui casse le code paresseux :

=SI(SIGNE(x) = 1; "hausse"; "baisse")     ' BUG : un 0 stable est étiqueté à tort « baisse »
=SI(x > 0; "hausse"; SI(x < 0; "baisse"; "stable"))   ' gérer les trois cas

Si vous ramifiez sur SIGNE, vous devez prendre en compte le cas 0, ou bien comparer directement avec >0 / <0. C'est la même discipline qu'enseignent les fonctions EST : faites correspondre le nombre d'issues que votre test possède réellement.

Quand ne pas utiliser ABS

ABS est si pratique qu'on l'enroule par réflexe autour des différences — et c'est là qu'il passe d'outil à cache-misère. ABS sert quand la direction n'a réellement aucune importance (tolérances, distances, grandeurs). Si vos différences sont censées être positives et que vous collez ABS dessus pour « faire le ménage », vous venez de masquer les lignes où votre logique est à l'envers. Recourir à ABS pour faire disparaître les nombres en rouge, c'est ainsi qu'on livre un modèle faux d'une manière que personne ne peut voir. Deux distinctions voisines à garder en tête :

  • Pour plafonner les négatifs à zéro, utilisez MAX(x; 0), pas ABS(x). MAX(-5;0) vaut 0 ; ABS(-5) vaut 5. Intention différente — l'un borne, l'autre reflète.
  • Pour afficher un nombre en positif sans changer sa valeur (style comptable), utilisez un format de nombre, pas ABS. ABS change la valeur stockée ; un format ne change que l'apparence. Le tri et les calculs voient le vrai nombre.

Savoir trancher

Posez d'abord la question, puis choisissez la fonction. « Quelle est la taille de l'écart / la distance / la dispersion ? » → grandeur → ABS. « Dans quel sens ça a bougé / gain ou perte / y a-t-il eu croisement ? » → direction → SIGNE. « Les deux, recombinés ? » → l'identité SIGNE(x)*ABS(x). L'habitude qui évite le plus de dégâts est de refuser que ABS masque un signe que vous n'attendiez pas — si une différence ressort négative et que cela vous surprend, enquêtez sur la logique avant de l'envelopper. ABS doit exprimer une intention, pas étouffer une preuve.

Comment ExcelMaster vous aide

La logique de tolérance est trompeusement facile à rater de façon subtile, et le bug passe tous les tests du chemin heureux. Demandez à ExcelMaster « signale les lignes où le réel s'écarte de plus de 5 % de la prévision » et il écrit ABS(Réel-Prévision) > 0,05*Prévision — avec l'ABS en place pour capter aussi bien les dépassements que les sous-estimations. Demandez « gain/perte/stable en une colonne » et il utilise SIGNE avec le cas zéro géré, pas un SI à deux branches qui étiquette à tort le seuil de rentabilité. Il écrit l'intention que vous avez décrite, y compris la gestion du signe que vous n'auriez découverte qu'une fois les nombres devenus faux.

Questions fréquentes

Comment obtenir la valeur absolue dans Excel ?

Utilisez =ABS(nombre). Elle renvoie la grandeur — la distance à zéro — donc =ABS(-7) et =ABS(7) renvoient tous deux 7. Pour prendre la valeur absolue d'une différence, enveloppez toute l'expression : =ABS(A2-B2).

Comment rendre un nombre positif dans Excel ?

=ABS(nombre) rend tout nombre positif en supprimant son signe. Si vous voulez plutôt seulement remplacer les nombres négatifs par zéro (en laissant les positifs tels quels), utilisez =MAX(nombre; 0). Et si vous voulez simplement qu'un nombre négatif s'affiche en positif sans changer sa valeur, appliquez un format de nombre plutôt qu'une formule.

Que renvoie la fonction SIGNE dans Excel ?

=SIGNE(nombre) renvoie -1 si le nombre est négatif, 0 s'il est exactement nul, et +1 s'il est positif. Elle ne rend compte que de la direction, en abandonnant la grandeur — utile pour classer des gains/pertes ou repérer où une série croise zéro (un changement de signe entre deux cellules).

Quelle est la différence entre ABS et SIGNE dans Excel ?

ABS conserve la grandeur d'un nombre et abandonne son signe (ABS(-7)=7) ; SIGNE conserve sa direction sous la forme -1/0/+1 et abandonne sa taille (SIGNE(-7)=-1). Ensemble, ils vérifient l'identité nombre = SIGNE(nombre) * ABS(nombre).

Comment vérifier si deux nombres sont dans une tolérance dans Excel ?

Comparez la différence absolue à la tolérance : =ABS(A2-B2) <= tolérance. Utiliser =A2-B2 <= tolérance sans ABS ne détecte les erreurs que dans une direction et laisse passer de grands écarts négatifs comme « dans la tolérance ».

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 10/07/2026.

Guides associés : Excel PUISSANCE & RACINE · Excel EXP, LN & LOG · Excel SOMMEPROD · Excel Fonctions EST