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

Fonction TEXTE d'Excel — Mettre un nombre en forme comme texte (et le piège qui l'empêche de s'additionner)

|

Fonction TEXTE d'Excel — Mettre un nombre en forme comme texte (et le piège qui l'empêche de s'additionner)

En brefTEXT prend un nombre (ou une date, qui est un nombre) et un code de format, et renvoie une chaîne de texte mise en forme de cette façon. Syntaxe : =TEXT(value, format_text). =TEXT(1234.5, "$#,##0.00") renvoie la chaîne "$1 234,50" ; =TEXT(TODAY(), "yyyy-mm-dd") renvoie "2026-07-02". Le code de format utilise le même langage qu'un format de cellule personnalisé — mais avec une différence énorme : un format de cellule change seulement l'apparence d'un nombre qui reste un nombre, tandis que TEXT incruste la mise en forme dans une vraie chaîne. Cette chaîne est superbe à l'intérieur d'une phrase et inutile dans un SUM. Utilisez TEXT quand un nombre doit devenir partie intégrante d'un texte ; ne l'employez jamais sur des données que vous devez encore calculer.

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

="Total facture : " & TEXT(A1, "$#,##0.00")   ' -> "Total facture : $1 234,50"
=TEXT(A2, "0.0%")                             ' 0,734 -> "73,4%"
=TEXT(B1, "00000")                            ' 42 -> "00042"  (zéros de tête)

Presque tout le monde rencontre TEXT pour la même raison : on a collé un nombre à quelques mots avec &, et le nombre est ressorti brut et vilain — Total : 1234,5 au lieu de Total : 1 234,50 $. TEXT est la solution. Mais c'est aussi la fonction vers laquelle on se tourne quand un format de cellule aurait été la bonne réponse, avant de se demander pourquoi la colonne de « nombres » refuse de s'additionner. Ce guide vous donne le modèle mental unique, le piège qui en découle, et assez du langage des codes de format pour être efficace.

Ce que vous allez apprendre

  • Le modèle mental : TEXT incruste un format dans une chaîne ; un format de cellule non
  • Pourquoi la concaténation en a besoin — & jette la mise en forme
  • Le piège n°1 : le résultat de TEXT est du texte, donc SUM l'ignore en silence
  • Le cours accéléré des codes de format : 0 vs #, milliers, %, et codes de date
  • Les zéros de tête, et le piège régional des noms de mois et des séparateurs
  • Le choix de bon sens : TEXT vs un format de nombre de cellule vs CONCAT/ROUND

Le modèle mental : deux endroits très différents pour la mise en forme

Un nombre dans Excel possède une valeur et un affichage. Tapez 1234,5, appliquez le format Monétaire, et la cellule affiche 1 234,50 $ alors que la valeur stockée reste 1234,5 — vous pouvez l'additionner, en faire la moyenne, la mettre en graphique. Le format est un masque posé sur un nombre qui ne cesse jamais d'être un nombre.

TEXT fait quelque chose de différent. Il lit la valeur, applique un code de format, et renvoie le résultat sous forme de texte — le masque et le nombre fusionnés en une chaîne :

' la cellule A1 contient 1234,5
A1 au format Monétaire    -> ressemble à 1 234,50 $, la VALEUR reste 1234,5 (un nombre)
=TEXT(A1, "$#,##0.00")    -> la chaîne "$1 234,50" (texte ; aucun nombre en dessous)

Gardez cette image : un format de cellule change le costume ; TEXT transforme l'acteur en silhouette de carton. Tout ce qui suit en découle.

Pourquoi la concaténation a besoin de TEXTE

La raison pour laquelle TEXT existe au quotidien, c'est que l'opérateur & (et CONCAT, et TEXTJOIN) supprime la mise en forme des nombres. Joindre du texte à un nombre vous donne la valeur brute du nombre, pas ce que la cellule affichait :

="Total : " & A1                        ' -> "Total : 1234,5"     (brut, vilain)
="Total : " & TEXT(A1, "$#,##0.00")     ' -> "Total : $1 234,50"  (mis en forme)
="Échéance " & TEXT(B1, "mmmm d")       ' -> "Échéance juillet 2" (B1 est une date)

C'est l'usage légitime le plus courant de TEXT : vous construisez une phrase, une étiquette, un nom de fichier ou un titre de graphique, et vous avez besoin que le nombre ressemble à ce qu'il montre dans sa cellule. & ne peut pas transporter le format, alors vous le transportez vous-même avec TEXT. Voir CONCAT et TEXTJOIN pour le versant « jointure » de ce schéma.

Le piège qui mord en premier : le résultat ne fera pas de calcul

Parce que TEXT renvoie une chaîne, le résultat n'est plus un nombre — et Excel n'additionne pas du texte. C'est la surprise classique du « ma formule renvoie 0 » :

' D2:D10 valent tous =TEXT(C2, "0.00")   -> ils ressemblent à des nombres
=SUM(D2:D10)                              ' -> 0   (SUM ignore le texte)

La règle qui en découle est sans détour : n'enveloppez jamais une colonne dans TEXT si vous devez encore calculer avec. Si vous voulez que les nombres s'affichent avec deux décimales et un symbole monétaire, c'est le travail du format de nombre de la cellule, qui laisse les valeurs numériques. N'utilisez TEXT qu'à la dernière étape, quand le nombre est en route vers une chaîne et que ses jours de calcul sont terminés. Si vous avez déjà des nombres-textes et qu'il faut les récupérer, c'est la fonction inverse — VALUE.

Le cours accéléré des codes de format

L'argument format_text utilise le même mini-langage que Format de cellule → Personnalisée. Vous n'avez besoin que d'une poignée de jetons :

Jeton Signification Exemple → résultat
0 chiffre, affiche le zéro TEXT(5, "000")"005"
# chiffre, masque le zéro de tête/de queue TEXT(5, "#.##")"5"
, séparateur de milliers TEXT(12000, "#,##0")"12 000"
. séparateur décimal TEXT(3.1, "0.00")"3,10"
% pourcentage (×100 + signe) TEXT(0.25, "0%")"25%"
$ symbole monétaire littéral TEXT(9, "$0.00")"$9,00"

La distinction à intégrer, c'est que 0 force un chiffre, # est facultatif. Employez 0 là où vous voulez du remplissage ou une décimale garantie (argent : 0.00), et # là où vous ne voulez le chiffre que s'il est significatif (#,##0.## affiche deux décimales seulement quand elles existent).

Dans les codes de format, Excel utilise toujours le point . pour le décimal et la virgule , pour les milliers ; c'est votre système qui les traduit à l'affichage (., et , → espace en français). Écrivez donc le code à l'anglaise même sur une machine française.

Les dates : la moitié la plus recherchée de TEXTE

Les dates sont des nombres, donc TEXT les met aussi en forme — et c'est ce que la plupart des gens cherchent réellement. Les codes de date :

=TEXT(A1, "yyyy-mm-dd")            ' -> "2026-07-02"   (ISO, se trie correctement en texte)
=TEXT(A1, "dddd, mmmm d, yyyy")    ' -> "jeudi, juillet 2, 2026"
=TEXT(A1, "mmm-yy")               ' -> "juil.-26"
=TEXT(A1, "h:mm AM/PM")           ' -> "2:30 PM"
  • m désigne les minutes ou les mois selon sa position — mm après h = minutes, mm seul = mois. mmm = juil., mmmm = juillet, mmmmm = j.
  • d/dd = numéro du jour, ddd = jeu., dddd = jeudi.
  • Construire une chaîne de date ISO (yyyy-mm-dd) est le moyen fiable d'obtenir des dates qui se trient correctement en tant que texte — pratique pour les noms de fichiers et les clés.

Les zéros de tête et le piège régional

Deux choses qui font trébucher :

  • Zéros de tête. Les identifiants, codes postaux et références de pièces qui doivent garder leurs zéros sont un travail pour TEXT : =TEXT(42, "00000")"00042". (Mieux encore, stockez ces codes en tant que texte dès le départ — mais TEXT les sauve quand ils ont été stockés comme nombres.)
  • Paramètres régionaux. Les noms de mois et de jours suivent la langue du classeur/du système, donc "mmmm" donne July sur un système anglais et juillet sur un système français. Les séparateurs peuvent aussi changer. Si vous avez besoin d'une langue précise quelle que soit la machine du lecteur, préfixez le code d'une balise de langue, par exemple =TEXT(A1, "[$-en-US]mmmm d") force les noms de mois anglais.

Le choix de bon sens : TEXTE vs les alternatives

L'avis tranché : la plupart du temps, vous voulez un format de cellule, pas TEXT. Demandez-vous ce que vous cherchez vraiment :

  • Vous voulez que le nombre paraisse correct dans sa cellule (monnaie, %, milliers) et qu'il continue de calculer → appliquez un format de nombre. Jamais TEXT. C'est l'erreur qui casse les totaux.
  • Vous placez le nombre à l'intérieur d'une chaîne — une phrase, une étiquette, un nom de fichier, un titre de graphique → c'est le vrai travail de TEXT. Utilisez-le, et seulement ici.
  • Vous voulez réduire une valeur à moins de décimales pour un vrai calcul (pour que le nombre stocké change) → c'est ROUND, pas TEXT. La mise en forme n'est pas l'arrondi, et TEXT non plus — il change l'affichage, pas la valeur qu'il transmet au calcul suivant.
  • Vous devez l'inverser — retransformer du texte en un vrai nombre ou une vraie date → VALUE / NUMBERVALUE ou DATEVALUE.

TEXT n'est pas un outil de mise en forme pour votre feuille de calcul — c'est un outil de mise en forme pour les chaînes. Employez-le exactement quand un nombre doit cesser d'être un nombre pour devenir partie intégrante d'un texte, et jamais comme raccourci pour rendre une cellule jolie.

Comment ExcelMaster vous aide

Le langage des codes de format de TEXT est le genre de chose qu'on réapprend tous les quelques mois — était-ce mmm ou mon, 0.00 ou #.##, et pourquoi le total s'est-il cassé ? ExcelMaster part de ce que vous décrivez — « mets le total dans cette phrase en monnaie », « affiche le mois en abréviation de trois lettres », « complète ces identifiants à cinq chiffres » — et écrit le code de format exact, tout en gardant les données sous-jacentes numériques partout où vous devez encore calculer. Vous obtenez la chaîne que vous imaginiez sans découvrir trois onglets plus loin que SUM renvoie désormais zéro.

Foire aux questions

Pourquoi SOMME ignore-t-elle mes cellules TEXTE / renvoie-t-elle 0 ?

Parce que TEXT renvoie du texte, pas un nombre, et SUM saute le texte. Si vous avez enveloppé une colonne dans =TEXT(...) et que les totaux ressortent à 0, vous avez mis en forme alors que vous auriez dû appliquer un format de nombre de cellule (qui garde les valeurs numériques). N'utilisez TEXT que pour des nombres qui deviennent partie intégrante d'une chaîne.

Comment mettre en forme une date comme texte dans Excel ?

=TEXT(date, "code de format"). Codes courants : "yyyy-mm-dd"2026-07-02, "mmmm d, yyyy"juillet 2, 2026, "mmm-yy"juil.-26. Rappelez-vous que mm signifie mois à côté de y/d, mais minutes à côté de h.

Comment conserver les zéros de tête avec TEXTE ?

Utilisez des jetons 0 pour la largeur voulue : =TEXT(42, "00000")"00042". C'est idéal pour les codes postaux et les identifiants — même si les stocker en tant que texte dès le départ évite complètement le problème.

Quelle est la différence entre TEXTE et un format de nombre de cellule ?

Un format de nombre de cellule change seulement l'apparence d'un nombre ; la valeur reste numérique et continue de calculer. TEXT convertit le nombre en une véritable chaîne avec la mise en forme incrustée — parfait pour la concaténation, fatal pour SUM.

Comment retransformer le résultat de TEXTE en nombre ?

Utilisez VALUE (ou NUMBERVALUE pour le contrôle des paramètres régionaux) pour les nombres, et DATEVALUE pour les dates. Ou, plus rapide pour un correctif express, multipliez le texte par 1 (=A1*1).

Testé dans

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

Guides associés : Excel VALUE et NUMBERVALUE · Excel DATEVALUE et TIMEVALUE · Excel CONCAT · Excel TEXTJOIN · Excel ROUND