Aller au contenu principal

Qu'est-ce que la fonction DEVISE ?

Définition
La fonction DEVISE convertit un nombre en texte au format monétaire, en appliquant le symbole de devise et les séparateurs définis dans les paramètres régionaux du système. Le résultat est une chaîne de texte, pas un nombre.

DEVISE (DOLLAR en anglais) te sert quand un montant doit rester lisible, symbole et séparateurs de milliers compris, même une fois sorti d'Excel, copié dans un mail ou collé dans un document où le format de cellule ne suit pas. Elle t'évite de retaper le € et les espaces de milliers à la main sur chaque ligne.

Contrairement au simple formatage de cellule, DEVISE transforme vraiment le nombre en texte. C'est parfait pour créer des factures, des devis, ou des rapports où tu veux que le format soit préservé même lors d'un copier-coller ou d'un export. Elle intègre automatiquement l'arrondi, les séparateurs de milliers et le symbole de devise de tes paramètres régionaux.

Syntaxe

Clique sur un argument pour aller à son explication.

Le résultat de DEVISE est du texte, pas un nombre. Tu ne peux pas faire de calculs directement dessus. Structure ton tableau avec les valeurs numériques pour les calculs et DEVISE uniquement pour l'affichage final.

Le savais-tu ?
Le deuxième argument accepte des valeurs négatives : DEVISE(1234567;-3) arrondit à gauche de la virgule et renvoie 1 235 000 €. Pratique pour un rapport de direction où l'euro près ne sert à rien.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction DEVISE

DEVISE prend deux arguments : d'abord le nombre que tu veux habiller, puis le nombre de décimales que tu peux passer ou non. Si tu laisses tomber le second, elle affiche deux décimales d'office.

La petite astuce méconnue, c'est que ce deuxième argument accepte des valeurs négatives : -3 ne supprime pas des décimales, il arrondit à gauche de la virgule, au millier le plus proche.

1

nombre

: le nombre à convertir en texte monétaire

Il peut s'agir d'un nombre littéral, d'une référence de cellule ou d'une formule qui renvoie un nombre. Les valeurs négatives sont affichées avec un signe moins.

Par exemple, 1234.56 devient "1 234,56 €" avec les paramètres régionaux français. Une valeur de -500.25 donne "-500,25 €".

2

[décimales]

: le nombre de chiffres après la virgule(facultatif)

Par défaut : 2. Peut être négatif pour arrondir à gauche de la virgule : -1 arrondit aux dizaines, -2 aux centaines, -3 aux milliers.

Par exemple, =DEVISE(1234.56; 0) retourne "1 235 €" (arrondi à l'entier), et =DEVISE(1234567; -3) retourne "1 235 000 €" (arrondi au millier).

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 montant en texte monétaire avec la fonction DEVISE

Tu prépares un récapitulatif de facturation destiné à partir dans un mail et dans un PDF, et tu sais d'expérience que les formats de cellule ne survivent pas au voyage. Un montant qui se retrouve en 1234,567 chez le client fait mauvais effet, et personne ne veut réexpliquer d'où sortent les millièmes. La fonction DEVISE fige l'habillage dans le texte lui-même, qui reste intact où que tu le colles.

Les étapes
  1. 1
    Dans une cellule, écris =DEVISE(.
  2. 2
    En 1er argument : clique sur la cellule du montant à habiller, B2. Elle affiche déjà 1 234,57 € grâce à un format d'affichage, mais la valeur qu'elle contient reste 1234,567, et c'est bien cette valeur que la fonction reçoit.
  3. 3
    En 2ᵉ argument : saisis le nombre de chiffres voulus après la virgule, 2. Cet argument est facultatif et vaut déjà 2 par défaut, mais l'écrire noir sur blanc évite d'avoir à se souvenir de cette valeur implicite en relisant la feuille.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque ligne reçoit le même habillage, et la ligne Fourn. 2 ressort en 890,00 € avec ses deux décimales, ce qui aligne toute la colonne sur la virgule.
Au final, ta formule devrait ressembler à ça :=DEVISE(B2; 2)
Explication
La fonction DEVISE arrondit à deux décimales, pose le séparateur de milliers et colle le symbole de tes paramètres régionaux, le tout dans une chaîne de caractères. La différence avec un format de cellule tient en un mot : ici l'habillage est la valeur, il ne s'enlève plus, et les trois millièmes de la première ligne ont réellement disparu au lieu d'être simplement masqués.
Exemple 2

Comment arrondir un montant au millier avec la fonction DEVISE

Ton rapport de direction n'a que faire de l'euro près, et aligner des montants au chiffre exact sur une slide ne fait que noyer la tendance que tu veux montrer. Tu cherches donc à arrondir à la volée, sans toucher aux données sources qui, elles, doivent rester exactes pour la consolidation. Le second argument de la fonction DEVISE accepte des valeurs négatives, et c'est précisément ce qu'il fait.

Les étapes
  1. 1
    Dans une cellule, écris =DEVISE(.
  2. 2
    En 1er argument : clique sur la cellule du montant brut, B2, qui contient 1234567. La donnée source n'est jamais modifiée par la formule, seule sa représentation change dans la colonne Affiché.
  3. 3
    En 2ᵉ argument : clique sur la cellule qui fixe le rang d'arrondi, C2. Elle contient -3, et un rang négatif se compte vers la gauche de la virgule au lieu d'ajouter des chiffres à sa droite, ce qui vise ici le millier et rend 1 235 000 €.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Les trois premières lignes partent toutes de 1234567 et ne diffèrent que par la colonne Décimales, d'où 1 235 000 € au millier, 1 230 000 € à la dizaine de milliers et 1 234 600 € à la centaine.
Voici la formule que tu obtiens à la fin :=DEVISE(B2; C2)
Explication
Un second argument négatif ne retire pas des décimales, il arrondit à gauche de la virgule : -3 vise le millier, -4 la dizaine de milliers. Attention à ce que ça ne fait pas, parce que le malentendu est courant : le nombre est arrondi mais tous ses chiffres restent affichés, donc tu obtiens 1 235 000 € et jamais une écriture compacte du genre 1 235 k€.
Exemple 3

Comment éviter un total à zéro sur une colonne produite par la fonction DEVISE

Ton total de bas de tableau affiche 0 € alors que les cinq lignes au-dessus sont manifestement remplies, et rien n'est marqué en rouge nulle part. La cause est que la colonne ne contient pas des montants mais leur photographie en texte, et que SOMME saute le texte sans prévenir. Le plus déroutant est que =C2+C3 répond 2124,57 sur ces mêmes cellules, ce qui laisse croire que tout va bien.

Les étapes
  1. 1
    Dans une cellule, écris =DEVISE(.
  2. 2
    En 1er argument : écris le total à habiller et referme-le, SOMME(B2:B6). L'addition porte sur les cinq montants bruts de la colonne Montant HT et rend 19512,617. Habiller en dernier est la règle à retenir, parce qu'un montant transformé en texte ne redevient jamais spontanément un nombre dans une plage.
  3. 3
    En 2ᵉ argument : saisis le nombre de chiffres voulus après la virgule, 2. Le total est arrondi puis habillé d'un coup, et ressort en 19 512,62 €.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Celle de la fonction SOMME a déjà été refermée à l'étape précédente, il n'en reste donc qu'une seule à fermer ici.
Une fois les morceaux assemblés, ta formule donne ça :=DEVISE(SOMME(B2:B6); 2)
Explication
Le total se calcule sur les nombres bruts, puis la fonction DEVISE n'habille que le résultat final. C'est le seul ordre qui tienne, parce que SOMME ignore le texte qu'elle croise dans une plage au lieu de le convertir, et rend donc 0 sur la colonne habillée sans lever la moindre erreur. L'addition avec + brouille encore la piste en convertissant, elle, très volontiers.
L’erreur fatale
DEVISE renvoie du texte, pas un nombre : DEVISE(100)+DEVISE(50) plante. Fais tous tes calculs sur les valeurs numériques, et n'habille qu'à la toute fin, sur le total.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction DEVISE

Deux situations te bloquent avec DEVISE, et elles tournent toutes les deux autour de la frontière entre nombre et texte. En entrée, si tu lui passes du texte au lieu d'un nombre, comme =DEVISE("abc"), tu récupères un #VALEUR! ; ça arrive souvent quand la cellule référencée contient un nombre stocké en texte.

En sortie, le piège est inverse : DEVISE te rend du texte, donc additionner deux résultats comme =DEVISE(100)+DEVISE(50) plante. Fais tes calculs sur les nombres d'abord, et n'habille qu'à la fin.

Erreur #VALEUR! : paramètre non numérique

=DEVISE("abc") génère #VALEUR! car le texte "abc" n'est pas un nombre. Cela arrive aussi quand une cellule référencée contient du texte au lieu d'un nombre.

Solution : Vérifie que le paramètre nombre est bien une valeur numérique. Si tes données peuvent contenir du texte, utilise SIERREUR pour gérer le cas : =SIERREUR(DEVISE(A1); ""). Pour convertir un texte numérique en nombre, applique CNUM avant : =DEVISE(CNUM(A1)).

Calculs impossibles sur le résultat de DEVISE

DEVISE retourne du texte, pas un nombre. =DEVISE(100)+DEVISE(50) génère une erreur car Excel ne peut pas additionner deux chaînes de texte.

Solution : Effectue tes calculs sur les valeurs numériques originales, puis applique DEVISE sur le résultat final : =DEVISE(100+50) retourne "150,00 €". Ne passe jamais le résultat de DEVISE dans SOMME ou d'autres fonctions mathématiques.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

DEVISE vs TEXTE vs CTXT vs ARRONDI

Ces quatre fonctions arrondissent toutes un nombre, mais une seule ajoute le symbole monétaire sans rien lui demander, et c'est DEVISE. Si tu veux un format vraiment sur mesure, TEXTE te laisse écrire le tien. Si tu veux les séparateurs de milliers sans aucun symbole, CTXT fait exactement ça. Et si le résultat doit rester un vrai nombre, prends ARRONDI, car elle seule ne fabrique pas du texte.

La dernière ligne du tableau cache un piège qui mérite une explication. Le texte que renvoient DEVISE, TEXTE et CTXT se laisse reconvertir en nombre quand tu écris =A1+A2 : deux montants habillés donnent bien 150. En revanche, =SOMME(A1:A2) sur ces mêmes cellules renvoie 0, parce que SOMME ignore le texte d'une plage au lieu de le convertir. Aucune erreur ne s'affiche, et c'est précisément ce silence qui fait mal. Garde donc tes calculs sur les nombres bruts.

CritèreDEVISETEXTECTXTARRONDI
Type de retourTexteTexteTexteNombre
Symbole monétaire✅ Automatique⚙️ À écrire toi-même❌ Non❌ Non
Séparateurs de milliers✅ Oui⚙️ Si le format le prévoit✅ Oui par défaut❌ Non
Arrondit le nombre✅ Oui✅ Oui✅ Oui✅ Oui
Décimales négatives✅ Oui❌ Non✅ Oui✅ Oui
Utilisable dans un calcul⚠️ Par conversion seulement⚠️ Par conversion seulement⚠️ Par conversion seulement✅ Oui
Cas d'usageUn montant en devise glissé dans du texteUn format sur mesureDes milliers et des décimales, sans deviseUn résultat qui doit rester calculable
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec DEVISE

1Astuce

Affiche des milliers ou des millions sans te tromper de fonction

Le second argument négatif arrondit à gauche de la virgule, mais il ne raccourcit pas l'écriture pour autant : =DEVISE(1234567;-3) renvoie "1 235 000 €", et non "1 235 k€". Le nombre est bien arrondi au millier, seulement tous ses chiffres restent affichés.

Si tu veux vraiment l'écriture compacte, divise d'abord, puis formate avec CTXT qui n'ajoute aucun symbole : =CTXT(A1/1000;0)&" k€" donne "1 235 k€" et =CTXT(A1/1000000;1)&" M€" donne "1,2 M€". Avec DEVISE à la place de CTXT, tu récupérerais "1 235 € k€", avec les deux symboles collés l'un à l'autre.

2Astuce

Crée des messages conditionnels avec SI

Combine DEVISE avec SI pour que le message s'adapte au montant : =SI(A1>10000; "Montant élevé : "&DEVISE(A1); "Montant standard : "&DEVISE(A1)) renvoie "Montant élevé : 15 000,00 €" au-dessus du seuil, et "Montant standard : 8 000,00 €" en dessous.

Le même principe sert à distinguer les soldes positifs des soldes négatifs : =SI(A1<0; "Déficit : "&DEVISE(A1); "Excédent : "&DEVISE(A1)) donne "Déficit : -2 500,00 €" sur un solde de -2500, et "Excédent : 4 200,00 €" sur un solde de 4200.

3Astuce

Force les décimales pour un affichage homogène

Même quand ton nombre est rond, DEVISE affiche les décimales demandées : =DEVISE(1000) renvoie "1 000,00 €" et jamais "1 000 €". Un format de cellule, lui, peut masquer ces zéros selon le réglage choisi.

C'est ce qui te sauve dans un tableau où tous les montants doivent tomber sur la même largeur, comme une grille de salaires ou une liste de budgets où se côtoient des sommes rondes et des sommes aux centimes.

FAQ

Questions fréquentes

DEVISE utilise le symbole défini dans tes paramètres régionaux Windows. Pour un autre symbole, utilise plutôt la fonction TEXTE avec un format personnalisé, ou modifie tes paramètres régionaux. Tu peux aussi remplacer le symbole avec SUBSTITUE après DEVISE : =SUBSTITUE(DEVISE(A1); "€"; "$").

Ressources

Pour aller plus loin

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

Tout voir