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

Excel CNUM et VALEURNOMBRE — Reconvertir du texte en nombres qui calculent

|

Excel CNUM et VALEURNOMBRE — Reconvertir du texte en nombres qui calculent

En brefVALUE prend une chaîne de texte qui ressemble à un nombre et renvoie le nombre réel, pour qu'il puisse être additionné, trié et livré au calcul. Syntaxe : =VALUE(text). =VALUE("1,234.50") renvoie 1234,5. C'est l'inverse exact de TEXT. Vous le tapez rarement exprès — vous y recourez quand des données arrivent sous forme de texte (le triangle vert « nombres stockés sous forme de texte ») et refusent de s'additionner. Son seul point faible : il obéit aux paramètres régionaux de votre système pour les séparateurs décimal et de milliers, donc un fichier d'un collègue européen casse. C'est à ça que sert NUMBERVALUE — vous lui dites quels séparateurs attendre : =NUMBERVALUE("1.234,56", ",", ".")1234,56.

Remarque — Dans l'interface française d'Excel, ces fonctions portent d'autres noms : VALUE → CNUM, NUMBERVALUE → VALEURNOMBRE, TEXT → TEXTE, DATEVALUE → DATEVAL, SUM → SOMME. L'erreur #VALUE! s'affiche #VALEUR! en français. Les formules ci-dessous conservent les noms anglais pour rester copiables tels quels.

=VALUE("1,234.50")                 ' -> 1234,5   (maintenant un vrai nombre)
=VALUE("$9.00")                    ' -> 9
=NUMBERVALUE("1.234,56", ",", ".") ' -> 1234,56  (format européen, tous paramètres régionaux)

Personne ne s'assoit dans l'intention de convertir du texte en nombres. Ce qui se passe réellement, c'est que vous collez depuis un site web, ouvrez un CSV ou tirez d'un export, et Excel décide que vos nombres sont du texte : ils se collent à gauche de la cellule, arborent un petit triangle d'avertissement vert, et SUM annonce 0 comme si la colonne était vide. VALUE et sa sœur sensible aux paramètres régionaux NUMBERVALUE sont la réponse par formule. Ce guide explique pourquoi le problème survient, les deux fonctions, et les correctifs plus rapides qui les battent souvent toutes les deux.

Ce que vous allez apprendre

  • Le modèle mental : VALUE est l'inverse de TEXT — nombre-texte → nombre
  • La vraie cause : les « nombres stockés sous forme de texte » et comment les reconnaître
  • Les bases de VALUE, et le piège régional des séparateurs
  • NUMBERVALUE — analyser des formats de nombres étrangers sur n'importe quelle machine
  • Les correctifs plus rapides sans formule : *1, double moins unaire --, Convertir
  • Pourquoi "5"+2 marche mais SUM de nombres-textes non — l'asymétrie clé

Le modèle mental : l'inverse de TEXTE

TEXT transforme un nombre en une chaîne mise en forme. VALUE déroule le film à l'envers : il lit une chaîne qui décrit un nombre et vous rend le nombre lui-même.

=TEXT(1234.5, "#,##0.00")   ' nombre -> "1,234.50"  (texte)
=VALUE("1,234.50")          ' "1,234.50" (texte) -> 1234,5  (nombre)

Le « ressemble à » fait tout le travail. VALUE réussit seulement quand la chaîne est quelque chose qu'Excel reconnaîtrait comme un nombre dans ses paramètres régionaux actuels"1,234.50", "$9", "75%", "2.5E3" s'analysent tous ; "douze" ou "12 pommes" renvoient #VALUE!. Gardez l'image : VALUE est un analyseur, pas un nettoyeur — il lit un nombre bien formé écrit en texte, il ne retire pas les scories.

Le vrai problème : des nombres stockés sous forme de texte

Vous n'avez presque jamais besoin de VALUE pour des nombres que vous avez tapés — vous en avez besoin pour des nombres qui sont arrivés. Après un import ou un collage, guettez ces signes :

  • Les valeurs sont alignées à gauche (les vrais nombres s'alignent à droite).
  • Un triangle vert dans le coin ; le survol dit « Nombre stocké sous forme de texte. »
  • SUM/AVERAGE sur la plage renvoie 0 ou ignore des lignes.
  • Le tri place "100" avant "9" (le texte se trie caractère par caractère).

Les quatre sont le même fait sous-jacent : la cellule contient les caractères 1, 2, 3 — pas la quantité cent vingt-trois. VALUE reconvertit les caractères en quantité.

=VALUE(A2)          ' A2 contient le texte "1234.5" -> 1234,5
=SUM(VALUE(A2:A9))  ' dans Excel moderne, ceci se répand et somme les nombres convertis

Le piège régional — et pourquoi VALEURNOMBRE existe

Voici le bord tranchant. VALUE interprète les séparateurs selon vos paramètres régionaux. Sur une machine américaine, . est le séparateur décimal et , groupe les milliers ; sur une machine allemande ou française, ils sont inversés. groupe les milliers et , est le décimal. Donc une valeur exportée par un collègue européen :

' le texte est "1.234,56"  (européen pour mille deux cent trente-quatre virgule cinquante-six)
=VALUE("1.234,56")     ' sur une machine américaine -> #VALUE! ou un faux 1,23456 — cassé

NUMBERVALUE supprime la devinette en prenant les séparateurs comme arguments, si bien que la même formule donne la même réponse sur n'importe quelle machine :

=NUMBERVALUE("1.234,56", ",", ".")   ' décimal="," groupe="." -> 1234,56 partout
=NUMBERVALUE("12 345,60", ",", " ")  ' groupement français par espace fine -> 12345,6

La règle : si le texte vient d'un pays différent de celui de la machine qui exécute la formule, utilisez NUMBERVALUE et indiquez les séparateurs. C'est la différence entre un classeur qui survit à une ouverture dans un autre pays et un classeur qui corrompt silencieusement les nombres.

Les correctifs plus rapides qui n'ont besoin d'aucune fonction

Souvent le remède le plus rapide n'est pas VALUE du tout. Parce qu'un nombre-texte est à une seule opération mathématique de devenir numérique, toute opération arithmétique qui ne change pas la valeur le convertit :

  • Multiplier par 1 : =A2*1. Double moins unaire : =--A2 (un négatif de négatif). Les deux forcent le texte en nombre et sont plus courts que VALUE.
  • Collage spécial → Multiplication par 1 : sélectionnez la plage, copiez une cellule vide, Collage spécial → Opération Multiplication — convertit sur place, sans colonne d'aide.
  • Convertir (texte en colonnes) : sélectionnez la colonne, Données → Convertir → Terminer. Excel réanalyse chaque cellule et retire l'indicateur de texte. Idéal pour un nettoyage ponctuel.
  • Le menu du triangle vert : sélectionnez les cellules, cliquez sur l'icône d'avertissement → Convertir en nombre. Bien pour une poignée.

Recourez à VALUE/NUMBERVALUE quand la conversion doit être une formule vivante (le texte source change sans cesse) ou quand les paramètres régionaux importent ; recourez à *1 ou Convertir pour un nettoyage rapide et statique.

L'asymétrie qui vaut la peine d'être connue

Excel moderne convertit bel et bien en silence les nombres-textes dans beaucoup de contextes — ="5"+2 renvoie 7, et =A1*1 marche — ce qui rend VALUE moins nécessaire qu'il y a dix ans. Mais il y a un endroit où la conversion n'a jamais lieu, et c'est l'endroit qui compte le plus :

="5" + 2          ' -> 7    (l'arithmétique convertit le texte)
=SUM("5", 2)      ' -> 7    (les arguments texte littéraux sont convertis)
=SUM(A1:A9)       ' -> IGNORE tout nombre-texte dans la plage  <-- le piège

Les fonctions d'agrégation ignorent le texte à l'intérieur d'une plage. SUM, AVERAGE, MAX et compagnie passent devant les nombres-textes comme s'ils étaient des étiquettes. C'est pourquoi une colonne qui paraît pleine peut totaliser zéro. Le correctif est de rendre les valeurs authentiquement numériques — avec VALUE, *1 ou Convertir — avant d'agréger.

Le choix de bon sens

Le correctif le plus solide est celui le plus en amont : empêcher le texte d'être créé en premier lieu. Si un import CSV est le coupable, réglez le type de la colonne sur nombre pendant l'import (ou dans Power Query) ; si un système exporte des nombres avec des caractères parasites, corrigez l'export. VALUE et ses cousines sont le bon outil quand vous ne pouvez pas toucher à la source et qu'il vous faut les nombres maintenant — mais si vous faites le même nettoyage chaque semaine, c'est le signal qu'il faut réparer le pipeline, pas ajouter une colonne VALUE de plus.

Pour le trajet inverse — un vrai nombre que vous voulez afficher sous forme de texte mis en forme — voir TEXT. Pour des dates piégées en texte, la spécialiste est DATEVALUE.

Comment ExcelMaster vous aide

« Nombres stockés sous forme de texte » est un de ces problèmes évidents une fois qu'on connaît le signe et déroutants avant — et la version régionale (un fichier européen sur un portable américain) met en échec même les utilisateurs expérimentés. ExcelMaster repère le motif à partir des données elles-mêmes : il voit une colonne de nombres qui ont l'air corrects mais ne s'additionnent pas, identifie si les séparateurs sont locaux ou étrangers, et les convertit proprement — avec NUMBERVALUE et les bons séparateurs quand le fichier vient de l'étranger, ou un correctif ponctuel sur place quand ce n'était pas le cas. Vous décrivez le symptôme (« ça refuse de s'additionner ») ; il diagnostique la cause.

Foire aux questions

Comment convertir du texte en nombres dans Excel ?

Le plus rapide : multiplier par 1 (=A1*1) ou utiliser le double moins unaire (=--A1). En fonction : =VALUE(A1). Pour toute une colonne sans formule, utilisez Données → Convertir → Terminer, ou Collage spécial → Multiplication.

Pourquoi VALUE renvoie-t-il #VALUE! ?

La chaîne n'est pas un nombre bien formé dans vos paramètres régionaux. Causes : du texte ou des unités parasites ("12 kg"), un séparateur étranger ("1.234,56" sur une machine américaine — utilisez NUMBERVALUE), ou du texte réellement non numérique. VALUE analyse des nombres écrits en texte ; il ne retire pas les caractères non numériques.

Quelle est la différence entre VALUE et NUMBERVALUE ?

VALUE utilise les séparateurs décimal et de milliers de votre système. NUMBERVALUE vous laisse les spécifier : =NUMBERVALUE(text, decimal_sep, group_sep). Utilisez NUMBERVALUE chaque fois que le texte provient d'un format régional différent de celui de la machine qui exécute la formule.

Pourquoi ma SOMME ignore-t-elle certains nombres ?

Ils sont stockés sous forme de texte (alignés à gauche, triangle vert). SUM saute le texte à l'intérieur d'une plage. Convertissez-les d'abord avec VALUE, =plage*1, ou Convertir, puis additionnez.

Ai-je encore besoin de VALUE ?

Parfois non — ="5"+2 et =A1*1 convertissent le texte automatiquement. Mais SUM, AVERAGE et les autres agrégations sur une plage ne convertissent jamais, donc vous devez encore convertir les nombres-textes avant de les totaliser.

Testé dans

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

Guides associés : Excel TEXT · Excel DATEVALUE et TIMEVALUE · Excel SUBSTITUTE et REPLACE · Excel SUMIFS · Excel IFERROR