Vous avez déjà eu besoin d’écrire “1 245,80 €” en toutes lettres dans un tableau Excel, un devis ou une facture ? Et là, petit moment de solitude : Excel affiche très bien les chiffres, mais pour les lettres… il devient soudainement beaucoup moins bavard.

Bonne nouvelle : il existe une méthode simple et rapide pour convertir un chiffre en lettre dans Excel. Et non, vous n’avez pas besoin d’être développeur ni de passer votre week-end à déchiffrer du VBA en mode archéologue. Dans cet article, on va voir une solution fiable, pratique et facile à réutiliser, avec quelques astuces pour éviter les pièges les plus courants.

Pourquoi convertir un chiffre en lettre dans Excel ?

Avant de passer à la technique, prenons une seconde pour répondre à la vraie question : pourquoi veut-on transformer un nombre en toutes lettres ?

Dans la pratique, ce besoin revient souvent dans les documents administratifs :

  • factures
  • devis
  • reçus
  • contrats
  • chèques
  • Par exemple, écrire “350,00 €” en chiffres, c’est bien. Mais afficher aussi “trois cent cinquante euros”, c’est parfois demandé pour sécuriser le document ou respecter une présentation formelle. Excel n’a pas de fonction native simple du type CHIFFREENLETTRE() pour le faire directement. Il faut donc ruser un peu.

    La méthode la plus simple : utiliser une fonction VBA personnalisée

    Si vous cherchez une solution rapide et propre, le plus efficace est souvent de créer une fonction VBA personnalisée. Une fois ajoutée à votre fichier ou à votre classeur personnel, elle vous permettra de convertir un montant en toutes lettres comme n’importe quelle formule Excel.

    L’idée est simple : on colle un petit morceau de code dans l’éditeur VBA, puis on appelle la fonction dans une cellule. Résultat : vous obtenez automatiquement le montant en lettres.

    Ce n’est pas aussi intimidant qu’il y paraît. En réalité, c’est un peu comme installer une mini-fonction maison dans Excel. Une fois en place, vous l’utilisez autant que nécessaire.

    Ajouter la fonction dans Excel pas à pas

    Voici la méthode la plus directe. Suivez les étapes tranquillement, elles sont très accessibles.

  • Ouvrez votre fichier Excel
  • Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA
  • Dans le menu, cliquez sur Insertion puis Module
  • Collez le code de la fonction dans la fenêtre du module
  • Enregistrez votre fichier au format .xlsm si vous voulez conserver les macros
  • Retournez dans Excel et utilisez la fonction dans une cellule
  • Si vous n’avez jamais ouvert VBA, pas de panique : l’éditeur ressemble un peu à une console technique, mais il ne mord pas. Enfin… pas trop.

    Exemple de code VBA pour convertir un chiffre en lettre

    Voici un exemple simple de fonction VBA que vous pouvez utiliser pour convertir un nombre en français. Cette version convient pour des montants entiers et peut être adaptée ensuite pour gérer les décimales.

    Function ConvertirEnLettres(ByVal Montant As Double) As String    Dim Unites As Variant, Dizaines As Variant    Dim PartieEntiere As Long        Unites = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", _                   "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize")        PartieEntiere = Int(Montant)        If PartieEntiere < 17 Then        ConvertirEnLettres = Unites(PartieEntiere)    Else        ConvertirEnLettres = CStr(PartieEntiere)    End IfEnd Function

    Important : ce code est volontairement minimaliste pour montrer le principe. Il ne convertit pas encore tout en lettres de manière complète pour les grands nombres. Si vous voulez une vraie fonction prête à l’emploi pour les montants complexes, il faut utiliser une version plus avancée.

    Mais pour comprendre la logique, c’est déjà très utile : Excel appelle la fonction, la fonction traite la valeur, et le résultat s’affiche dans la cellule.

    Une version plus utile pour les montants en euros

    Dans un usage concret, vous aurez souvent besoin d’un affichage du type :

    125,40cent vingt-cinq euros et quarante centimes

    Pour cela, une fonction VBA plus complète est préférable. L’idée reste la même : vous créez une fonction personnalisée, puis vous l’utilisez comme une formule classique.

    Par exemple, si votre cellule A1 contient 125,40, vous pourriez afficher dans B1 un texte en toutes lettres grâce à une fonction du type :

    =MontantEnLettres(A1)

    Le gros avantage, c’est que le calcul se met à jour automatiquement dès que la valeur change. Très pratique quand on manipule des documents qui évoluent souvent.

    Utiliser un complément Excel plutôt que VBA

    Si vous n’êtes pas à l’aise avec le code, il existe une autre option : passer par un complément Excel. Certains add-ins permettent de convertir automatiquement les nombres en lettres sans écrire une seule ligne de VBA.

    C’est souvent la solution préférée des utilisateurs qui veulent aller vite et éviter les macros. En revanche, il faut accepter deux limites :

  • le complément doit être installé sur le poste
  • il n’est pas toujours gratuit ou compatible avec toutes les versions
  • Si vous travaillez seul ou sur un fichier ponctuel, VBA reste souvent la solution la plus flexible. Si vous êtes en entreprise et que les macros sont bloquées, le complément peut être une bonne alternative.

    Cas pratique : écrire un montant sur une facture

    Prenons un exemple concret. Imaginez une facture avec le total TTC suivant : 1 284,90 €.

    Vous souhaitez afficher ce montant en toutes lettres sur le document pour le rendre plus clair et plus professionnel. Avec la méthode VBA, vous pouvez insérer dans votre feuille :

    =MontantEnLettres(A2)

    Si A2 contient 1284,90, la cellule affichera quelque chose comme :

    mille deux cent quatre-vingt-quatre euros et quatre-vingt-dix centimes

    Ce type d’automatisation évite les fautes de frappe, les oublis de mise en forme et les copier-coller hasardeux. Et avouons-le, c’est toujours plus propre qu’une saisie manuelle faite à la va-vite un vendredi à 18h.

    Les erreurs fréquentes à éviter

    Quand on commence à convertir des chiffres en lettres dans Excel, quelques pièges reviennent souvent. Autant les éviter tout de suite.

  • Oublier d’activer les macros : si le classeur est en .xlsx, le code VBA ne sera pas conservé
  • Utiliser une fonction non adaptée aux décimales : un montant comme 10,50 peut être mal interprété si le code n’est pas prévu pour
  • Confondre virgule et point : selon la configuration Excel, le séparateur décimal peut changer
  • Ne pas tester avec plusieurs valeurs : essayez 0, 1, 21, 100, 1000 et un nombre avec centimes
  • Utiliser une version trop simplifiée : pour un usage professionnel, il vaut mieux une fonction robuste
  • Le bon réflexe est simple : testez toujours votre fonction sur quelques exemples variés avant de l’intégrer dans un modèle de facture ou un document important.

    Peut-on le faire sans VBA ?

    La question revient souvent. Et la réponse courte est : pas vraiment de façon native et simple.

    Excel propose énormément de fonctions puissantes pour manipuler du texte, des dates ou des calculs, mais la conversion automatique d’un nombre en lettres n’est pas intégrée de base. On peut bricoler des formules complexes, mais cela devient vite lourd, illisible et difficile à maintenir.

    Pour être franc, si vous cherchez un résultat propre et réutilisable, le VBA reste la solution la plus efficace. C’est un peu l’outil discret mais redoutablement pratique qu’on apprécie quand on veut gagner du temps.

    Astuce bonus : créer un bouton pour simplifier l’utilisation

    Si vous utilisez souvent cette fonction, vous pouvez aller encore plus loin en créant un petit bouton ou un modèle de fichier réutilisable.

    Par exemple, dans un classeur de facturation, vous pouvez :

  • réserver une cellule au montant TTC
  • afficher automatiquement le montant en lettres dans une autre cellule
  • mettre en forme le résultat avec une police lisible
  • verrouiller la formule pour éviter les modifications accidentelles
  • Résultat : votre document devient plus professionnel, plus rapide à remplir et beaucoup plus confortable à utiliser au quotidien.

    Quand cette méthode devient vraiment utile

    Convertir un chiffre en lettre dans Excel n’est pas juste un petit gadget de geek. Dans certains contextes, c’est un vrai gain de temps :

  • vous préparez régulièrement des factures
  • vous travaillez dans un service administratif
  • vous créez des documents imprimables
  • vous devez éviter les erreurs de saisie manuelle
  • vous cherchez à standardiser vos modèles Excel
  • En somme, dès que vous répétez la même opération plusieurs fois, l’automatisation devient rentable. Et Excel adore ça : moins de saisie, plus d’efficacité.

    Ce qu’il faut retenir pour aller vite

    Si vous deviez retenir l’essentiel, ce serait ceci : pour convertir un chiffre en lettre dans Excel, la méthode la plus simple et rapide consiste à utiliser une fonction VBA personnalisée.

    Elle vous permet de transformer automatiquement un montant en texte, de l’intégrer à vos factures ou devis, et de réutiliser la même logique dans tous vos fichiers. Si vous n’aimez pas toucher au code, un complément Excel peut aussi faire l’affaire, mais VBA reste souvent le meilleur compromis entre souplesse et efficacité.

    Avec un peu de pratique, cette technique devient un réflexe. Et franchement, quand on voit à quel point elle simplifie la vie, on se demande presque pourquoi Excel ne l’a pas intégrée nativement depuis longtemps.

    Si vous voulez, je peux aussi vous fournir une fonction VBA complète prête à coller pour convertir automatiquement n’importe quel nombre en lettres en français, y compris les centimes. Cela vous fera gagner du temps et évitera de repartir de zéro.