Aller au contenu principal

Qu'est-ce que la fonction VALEURNOMBRE ?

Définition
La fonction VALEURNOMBRE convertit une chaîne de texte en nombre en utilisant les séparateurs décimal et de milliers spécifiés, indépendamment des paramètres régionaux du système.

VALEURNOMBRE (NUMBERVALUE en anglais) te sauve quand ton Excel et tes données ne parlent pas la même langue de séparateurs : un texte importé où la virgule et le point n'ont pas le même rôle que chez toi. Plutôt que de reparamétrer ton système ou de bricoler un SUBSTITUE, tu dis explicitement à la fonction comment lire chaque caractère.

Concrètement, c'est elle qui débloque la situation quand tu reçois des relevés bancaires avec des formats locaux différents, quand tu consolides des rapports de filiales internationales en un seul fichier, ou quand tu nettoies des données scrapées d'un e-commerce étranger. Elle est disponible depuis Excel 2013.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction VALEURNOMBRE

Tu donnes d'abord le texte à convertir, puis tu lui dictes deux choses dans l'ordre : quel caractère sépare les décimales, puis quel caractère groupe les milliers. Ces deux derniers sont facultatifs, mais c'est en les précisant que VALEURNOMBRE devient utile : sans eux, elle se rabat sur les réglages de ton Excel et ne vaut pas mieux que CNUM.

Retiens surtout qu'ils doivent être différents l'un de l'autre. Mettre la virgule en décimal et en milliers à la fois, et tu récoltes un #VALEUR!.

1

texte

: la chaîne de texte à convertir

Ce peut être une référence de cellule (A1) ou une valeur directe entre guillemets. VALEURNOMBRE reconnaît automatiquement le symbole % et les espaces qu'elle ignore, ainsi que les symboles monétaires courants.

Le texte doit contenir une représentation lisible d'un nombre selon les séparateurs que tu as définis. Si tu passes "ABC", la formule renvoie #VALEUR!.

2

[séparateur_décimal]

: le caractère utilisé pour séparer la partie entière de la partie décimale dans le texte source(facultatif)

Par exemple, "," pour le format français (1 250,50) ou "." pour le format américain (1,250.50).

Si tu omets cet argument, Excel utilise le séparateur décimal de ton système.

3

[séparateur_groupes]

: le caractère utilisé pour séparer les groupes de milliers dans le texte source(facultatif)

Par exemple, " " (espace) pour le format français, "," pour le format américain, ou "'" pour le format suisse.

Si tu omets cet argument, Excel utilise le séparateur de milliers de ton système.

Attention : Si tu utilises le même caractère pour le séparateur décimal et le séparateur de milliers, VALEURNOMBRE renvoie #VALEUR!. Vérifie toujours que les deux arguments sont différents.

Ce qu’il faut retenir
Le séparateur décimal et le séparateur de milliers doivent toujours être deux caractères différents. VALEURNOMBRE(« 1.234.56 »; « . »; « . ») échoue avec #VALEUR! parce que tu réutilises le point pour les deux rôles à la fois.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment convertir un texte en nombre avec la fonction VALEURNOMBRE

Le fichier que tu récupères déverse ses montants en texte, alignés à gauche, avec leurs espaces de milliers et leurs virgules décimales. Une somme sur cette colonne rend zéro, parce qu'Excel n'y voit que des mots. La fonction VALEURNOMBRE reconstruit un nombre à partir de la chaîne, en lui disant à quoi correspond chaque symbole.

Les étapes
  1. 1
    Dans une cellule, écris =VALEURNOMBRE(.
  2. 2
    En 1er argument : clique sur la chaîne à convertir, B2. Elle contient 1 234,56, alignée à gauche comme du texte, et c'est le seul argument obligatoire de la fonction.
  3. 3
    En 2ᵉ argument : saisis le séparateur des décimales entre guillemets, ",". Il indique quel caractère de la chaîne ouvre la partie décimale, ici la virgule.
  4. 4
    En 3ᵉ argument : saisis le séparateur des milliers entre guillemets, " ". Tout caractère de ce type est écarté de la lecture, ce qui laisse passer les milliers.
  5. 5
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Les lignes sans décimales comme 12 000 passent aussi bien, car les deux séparateurs sont déclarés une fois pour toutes sans être exigés dans chaque chaîne.
Au final, ta formule devrait ressembler à ça :=VALEURNOMBRE(B2; ","; " ")
Explication
Les deux séparateurs sont déclarés explicitement : la virgule pour les décimales, l'espace pour les milliers. La fonction VALEURNOMBRE écarte les espaces et lit la virgule comme la marque des décimales, ce qui donne un vrai nombre calculable. La colonne l'affiche sans séparateur de milliers parce qu'elle est mise en forme à deux décimales, et non parce que la conversion aurait raté quelque chose.
Exemple 2

Comment convertir un nombre au format anglo-saxon avec la fonction VALEURNOMBRE

Tes filiales américaines envoient leurs ventes avec les séparateurs inversés par rapport aux nôtres, la virgule pour les milliers et le point pour les décimales. Ton Excel, configuré en français, lit ces chaînes à l'envers ou les rejette. Consolider ces montants avec les autres exige de dire explicitement comment les lire, ce que la fonction VALEURNOMBRE permet.

Les étapes
  1. 1
    Dans une cellule, écris =VALEURNOMBRE(.
  2. 2
    En 1er argument : clique sur la chaîne à convertir, B2. Elle contient 1,234.56 telle qu'elle est arrivée, sans aucun nettoyage préalable.
  3. 3
    En 2ᵉ argument : saisis le séparateur des décimales entre guillemets, ".". Dans ce format anglo-saxon, c'est le point qui ouvre les décimales.
  4. 4
    En 3ᵉ argument : saisis le séparateur des milliers entre guillemets, ",". La virgule ne sert ici qu'à aérer les milliers et doit être ignorée à la lecture.
  5. 5
    Ferme la parenthèse et appuie sur Entrée. Ne laisse aucun de ces deux séparateurs à une chaîne vide, car un séparateur décimal vide fait sortir la fonction en #VALEUR! au lieu de retomber sur le réglage par défaut.
Voici la formule que tu obtiens à la fin :=VALEURNOMBRE(B2; "."; ",")
Explication
Les deux séparateurs sont simplement inversés par rapport à l'exemple 1, le point ouvrant les décimales et la virgule marquant les milliers. C'est là que la fonction VALEURNOMBRE devient irremplaçable : sur un Excel en français, aucune conversion sans argument ne peut deviner que 1,234.56 vaut mille deux cent trente-quatre et non un virgule deux.
Exemple 3

Comment éviter l'erreur #VALEUR! de la fonction VALEURNOMBRE sur un texte non convertible

L'export brut mélange de vrais montants avec des cellules où quelqu'un a tapé une mention libre ou collé la devise à côté du chiffre. Une seule de ces lignes suffit à faire remonter une erreur dans la somme, et retrouver la coupable dans plusieurs milliers de lignes prend l'après-midi. Autant marquer les lignes récalcitrantes au moment de la conversion.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris la conversion à surveiller et referme-la, VALEURNOMBRE(B2; ","; " "). Ce sont les trois arguments de l'exemple 1, la cellule B2, la virgule décimale "," et l'espace des milliers " ".
  3. 3
    En 2ᵉ argument : saisis le texte de repli entre guillemets, "À vérifier". Il s'affiche dès qu'une chaîne refuse la conversion, comme un N/A ou un montant collé à sa devise, sur une faute à corriger à la source plutôt qu'à contourner.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis filtre la colonne sur À vérifier pour repérer d'un coup les lignes qui coincent. La parenthèse de VALEURNOMBRE a déjà été refermée dans le premier argument.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(VALEURNOMBRE(B2; ","; " "); "À vérifier")
Explication
Le piège est de croire que la fonction VALEURNOMBRE nettoie la chaîne : elle n'en écarte que les espaces déclarées en séparateur de groupe, et rien d'autre. Un N/A comme un montant suivi de sa devise partent donc en #VALEUR!. Les espaces de début et de fin, en revanche, passent sans problème. La fonction SIERREUR isole les lignes à reprendre au lieu de laisser l'erreur se propager dans les totaux.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction VALEURNOMBRE

Presque tous les ratés de VALEURNOMBRE se soldent par un #VALEUR!, et le coupable est neuf fois sur dix un décalage entre les séparateurs que tu as tapés et le format réel du texte : tu annonces le point en décimal alors que tes données suisses utilisent l'apostrophe en milliers, par exemple. Le deuxième piège classique, c'est de donner le même caractère pour les décimales et les milliers, ce qui bloque la lecture du nombre.

Un cas plus sournois ne déclenche aucune erreur : si tu oublies les séparateurs, Excel applique ceux de ton système et te renvoie un résultat faux mais d'apparence valide. D'où la règle de toujours les écrire dès que tes données viennent d'ailleurs.

#VALEUR! avec un format de texte non reconnu

Le texte contient des caractères qu'Excel ne sait pas interpréter comme un nombre avec les séparateurs donnés, ou les séparateurs spécifiés ne correspondent pas au format réel du texte.

Solution : Vérifie que le séparateur décimal et le séparateur de milliers correspondent exactement au format de ton texte source. =VALEURNOMBRE("1.234,56"; ","; ".") fonctionne ; =VALEURNOMBRE("1.234,56"; "."; ".") échoue car les séparateurs sont identiques.

#VALEUR! avec des séparateurs identiques

Si tu utilises le même caractère pour le séparateur décimal et le séparateur de milliers, Excel ne peut pas interpréter le nombre correctement.

Solution : Assure-toi que séparateur_décimal et séparateur_groupes sont toujours deux caractères différents. Par exemple : =VALEURNOMBRE("1,234.56"; "."; ",") ou =VALEURNOMBRE("1 234,56"; ","; " ").

Résultat incorrect quand les séparateurs sont omis

Si tu omets les deux arguments facultatifs, VALEURNOMBRE utilise les séparateurs de ton système. Sur un Excel français, =VALEURNOMBRE("1,234") donne 1,234 (nombre décimal), pas 1234 (entier) comme l'attendrait un format américain.

Solution : Spécifie toujours les séparateurs explicitement quand tes données viennent d'un système à la locale différente de la tienne. C'est la raison d'être principale de VALEURNOMBRE.

Perte de précision sur de très grands nombres

Excel a une précision limitée à 15 chiffres significatifs. Les nombres très longs (identifiants, numéros de compte) peuvent perdre en précision après conversion.

Solution : Pour les très grands nombres qui ne servent pas aux calculs (codes-barres, IBAN), conserve-les en texte. VALEURNOMBRE n'est utile que si tu dois calculer dessus.

L’erreur fatale
Si tu omets les séparateurs, VALEURNOMBRE se rabat sur ceux de ton Excel et te renvoie un résultat faux mais d'apparence valide, sans aucune erreur : sur un Excel français, VALEURNOMBRE(« 1,234 ») donne 1,234 et non 1234. Précise-les dès que les données viennent d'ailleurs.
Lucas, la mascotte du Dojo, compare deux fonctions Excel

VALEURNOMBRE vs CNUM

Sors VALEURNOMBRE dès que tes nombres arrivent d'une autre locale que la tienne : filiale américaine, relevé suisse à apostrophe, prix scrapés sur un site allemand. C'est la seule des deux qui te laisse imposer toi-même les séparateurs, là où CNUM s'en remet aux réglages de ton système.

Pour une simple conversion de texte dans ta propre locale, CNUM suffit largement : elle ne prend qu'un seul argument, le texte à convertir. Garde en tête que VALEURNOMBRE n'existe qu'à partir d'Excel 2013.

CritèreVALEURNOMBRECNUM
Arguments acceptésTexte + 2 séparateurs facultatifsLe texte seulement
Séparateurs personnalisables✅ Oui (tu définis toi-même)❌ Non (paramètres système)
Formats internationaux✅ Excellent⚠️ Limité à ta locale
Texte « 1.5 » sur un Excel français✅ 1,5 avec =VALEURNOMBRE("1.5";".")❌ #VALEUR!
Reconnaît % automatiquement✅ Oui✅ Oui
Cas d'usage typiqueDonnées internationales, filiales, scrapingConversions simples dans ta propre locale
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec VALEURNOMBRE

1Astuce

Encapsule dans SIERREUR pour un nettoyage massif sécurisé

Quand tu nettoies des milliers de lignes, certaines cellules peuvent ne pas être convertibles. Enveloppe VALEURNOMBRE dans SIERREUR : =SIERREUR(VALEURNOMBRE(A2;",";" "); 0) renvoie 0 à la place de #VALEUR!.
Tu peux aussi retourner le texte original : =SIERREUR(VALEURNOMBRE(A2;",";" "); A2) pour repérer les cellules qui posent problème sans bloquer tout le tableau.

2Astuce

Combine avec SUBSTITUE pour les cas complexes

Si ton texte contient des symboles monétaires que VALEURNOMBRE ne retire pas seul, prétraite-le avec SUBSTITUE : =VALEURNOMBRE(SUBSTITUE(A2;"€";"");",";".") retire le symbole euro avant conversion.
Pour les cas très complexes (espaces insécables, symboles multiples), chaîne plusieurs SUBSTITUE avant d'appeler VALEURNOMBRE.

FAQ

Questions fréquentes

VALEURNOMBRE est plus flexible que CNUM car elle permet de spécifier les séparateurs décimal et de milliers. CNUM convertit selon les paramètres régionaux du système, tandis que VALEURNOMBRE peut gérer n'importe quel format. Utilise VALEURNOMBRE dès que tes données viennent d'un système à la locale différente de la tienne.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction VALEURNOMBRE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir