En bref —
TEXTprend 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 queTEXTincruste la mise en forme dans une vraie chaîne. Cette chaîne est superbe à l'intérieur d'une phrase et inutile dans unSUM. UtilisezTEXTquand 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 :
TEXTincruste 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
TEXTest du texte, doncSUMl'ignore en silence - Le cours accéléré des codes de format :
0vs#, 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 :
TEXTvs un format de nombre de cellule vsCONCAT/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"
mdésigne les minutes ou les mois selon sa position —mmaprèsh= minutes,mmseul = 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 — maisTEXTles 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"donneJulysur un système anglais etjuilletsur 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, etTEXTnon 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
