KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Convertir des nombres en lettres dans Excel – Un guide complet

AuteurXiaoyang Date de modification

La conversion des nombres en mots est souvent indispensable pour les rapports financiers, les documents juridiques, les factures ou les chèques. Bien qu’Excel ne dispose pas nativement de cette fonctionnalité, plusieurs solutions fiables s’offrent à vous : fonctions intégrées de Microsoft 365, fonctions personnalisées en VBA ou modules complémentaires tiers performants. Ce guide complet présente chacune de ces méthodes, met en lumière leurs atouts et leurs limites, et vous aide à choisir celle qui correspond le mieux à vos besoins.

Capture d’écran illustrant la conversion de nombres en mots dans Excel

Méthodes pour convertir Convertir en mots dans Excel

Cette section présente trois méthodes efficaces pour convertir des montants en devise en lettres dans Excel. Choisissez celle qui convient le mieux à votre version d’Excel et à votre cas d’usage.


Méthode 1 : Utiliser les nouvelles fonctions intégrées (réservé à Microsoft 365)

Si vous utilisez Excel pour Microsoft 365, profitez de la nouvelle fonction TRANSLATE pour convertir facilement des montants en devise en mots grâce à une combinaison astucieuse de formules.

Comme illustré dans la capture d’écran ci-dessous, pour convertir les montants en devise situés dans la plage A2:A5 en mots, vous pouvez appliquer la formule suivante :

  1. Sélectionnez une cellule vide (par exemple B2) et saisissez la formule ci-dessous.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
  2. Appuyez sur « Entrée », puis faites glisser la « poignée de recopie » vers le bas pour l’appliquer aux autres lignes.
    Capture d’écran montrant comment utiliser la nouvelle fonction pour convertir des nombres en mots

Fonctionnement de la formule :

  • BAHTTEXT : Convertit un nombre en texte thaï-baht (par exemple, « หนึ่งบาทถ้วน »).
  • TRANSLATE(...,«th»,«en») : Traduit un texte d’une langue à une autre (nécessite Microsoft 365). Ici, du thaï vers l’anglais.
  • MINUSCULE() : Convertit l’intégralité de la chaîne en minuscules pour garantir une cohérence optimale.
  • SUBSTITUE() : Remplace les termes monétaires tels que « baht » et « satang » par ceux de votre choix.
  • MAJUSCULE.PREMERELETTRE() : Met en majuscule la première lettre de chaque mot afin d’obtenir un formatage impeccable.

Adapter à d’autres devises :

La formule ci-dessus affiche le résultat en dollars américains. Adaptez-la facilement à d’autres devises en remplaçant les unités principales et secondaires :

  • Remplacez « dollars » par l’unité principale de votre devise cible, par exemple « livres » pour la livre sterling.
  • Remplacez « cents » par la sous-unité correspondante, par exemple « pence » pour la livre sterling.

Le tableau suivant répertorie les devises compatibles ainsi que les formules correspondantes que vous pouvez utiliser :

DeviseRemplacement de l’unité principaleRemplacement de la sous-unitéFormule d’exemple (en supposant que la valeur se trouve dans la cellule A2)
USDdollarscents=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
GBPlivrespence=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«pounds»),«satang»,«pence»))
EUReuroscents=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«euros»),«satang»,«cents»))
MYRringgitsen=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«ringgit»),«satang»,«sen»))

Limites de cette méthode :

  • Fonctionne exclusivement dans Excel pour Microsoft 365, grâce à la fonction TRANSLATE().
  • Le résultat dépend fortement de la précision du formatage de la fonction BAHTTEXT().
  • Cette méthode convient aux devises dotées d’une unité principale et d’une sous-unité, comme le baht thaïlandais (par exemple, dollars et cents). Elle n’est pas recommandée pour les devises qui ne suivent pas cette structure.

Méthode 2 : Utiliser une fonction définie par l’utilisateur en VBA

Dans cette section, vous découvrirez comment utiliser une fonction définie par l’utilisateur (UDF) en VBA pour convertir des montants numériques en leur équivalent en mots, selon la convention monétaire anglaise — paramétrée par défaut pour le dollar américain (USD).

Étape 1 : Insérer le code VBA

  1. Ouvrez la feuille de calcul dans laquelle vous souhaitez utiliser cette fonctionnalité.
  2. Appuyez sur « Alt » + « F11 » pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
  3. Dans l’éditeur, cliquez sur « Insertion » > « Module », puis collez le code VBA ci-dessous.
    Function SpellNumberToEnglish(ByVal pNumber)
    'Update by Extendoffice
    Dim Dollars, Cents
    arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
    pNumber = Trim(Str(pNumber))
    xDecimal = InStr(pNumber, ".")
    If xDecimal > 0 Then
        Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
        pNumber = Trim(Left(pNumber, xDecimal - 1))
    End If
    xIndex = 1
    Do While pNumber <> ""
        xHundred = ""
        xValue = Right(pNumber, 3)
        If Val(xValue) <> 0 Then
            xValue = Right("000" & xValue, 3)
            If Mid(xValue, 1, 1) <> "0" Then
                xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
            End If
            If Mid(xValue, 2, 1) <> "0" Then
                xHundred = xHundred & GetTens(Mid(xValue, 2))
            Else
                xHundred = xHundred & GetDigit(Mid(xValue, 3))
            End If
        End If
        If xHundred <> "" Then
            Dollars = xHundred & arr(xIndex) & Dollars
        End If
        If Len(pNumber) > 3 Then
            pNumber = Left(pNumber, Len(pNumber) - 3)
        Else
            pNumber = ""
        End If
        xIndex = xIndex + 1
    Loop
    Select Case Dollars
        Case ""
            Dollars = "No Dollars"
        Case "One"
            Dollars = "One Dollar"
        Case Else
            Dollars = Dollars & " Dollars"
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
        Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    SpellNumberToEnglish = Dollars & Cents
    End Function
    Function GetTens(pTens)
    Dim Result As String
    Result = ""
    If Val(Left(pTens, 1)) = 1 Then
        Select Case Val(pTens)
            Case 10: Result = "Ten"
            Case 11: Result = "Eleven"
            Case 12: Result = "Twelve"
            Case 13: Result = "Thirteen"
            Case 14: Result = "Fourteen"
            Case 15: Result = "Fifteen"
            Case 16: Result = "Sixteen"
            Case 17: Result = "Seventeen"
            Case 18: Result = "Eighteen"
            Case 19: Result = "Nineteen"
            Case Else
        End Select
    Else
    Select Case Val(Left(pTens, 1))
        Case 2: Result = "Twenty "
        Case 3: Result = "Thirty "
        Case 4: Result = "Forty "
        Case 5: Result = "Fifty "
        Case 6: Result = "Sixty "
        Case 7: Result = "Seventy "
        Case 8: Result = "Eighty "
        Case 9: Result = "Ninety "
        Case Else
    End Select
    Result = Result & GetDigit(Right(pTens, 1))
    End If
    GetTens = Result
    End Function
    Function GetDigit(pDigit)
    Select Case Val(pDigit)
        Case 1: GetDigit = "One"
        Case 2: GetDigit = "Two"
        Case 3: GetDigit = "Three"
        Case 4: GetDigit = "Four"
        Case 5: GetDigit = "Five"
        Case 6: GetDigit = "Six"
        Case 7: GetDigit = "Seven"
        Case 8: GetDigit = "Eight"
        Case 9: GetDigit = "Nine"
        Case Else: GetDigit = ""
    End Select
    End Function
    Capture d’écran affichant l’éditeur de code
  4. Appuyez sur « Alt » + « Q » pour revenir à votre feuille de calcul.

Étape 2 : Appliquer la fonction

  1. Dans une cellule, saisissez la formule ci-dessous et appuyez sur « Entrée ».
    =SpellNumberToEnglish(A2)
  2. Ensuite, faites glisser la poignée de recopie vers les autres lignes si nécessaire. Vos nombres s’afficheront désormais en toutes lettres, par exemple :
    Capture d’écran présentant la fonction définie par l’utilisateur et ses résultats

Adapter à d’autres devises :

La fonction renvoie des valeurs en « Dollar(s) » et « Cent(s) », codées en dur exclusivement pour l’USD. Si vous souhaitez convertir des montants dans une autre devise, comme la « Livre sterling », vous devrez modifier manuellement les unités principale et secondaire dans les lignes de code suivantes.

Capture d’écran montrant comment modifier le code pour l’adapter à d’autres devises

Enregistrer le classeur en tant que fichier prenant en charge les macros

Par défaut, les fonctions VBA ne sont pas conservées sauf si le classeur est enregistré en tant que classeur prenant en charge les macros :

  1. Appuyez sur « Ctrl » + « S » pour enregistrer votre travail.
  2. Et sélectionnez le bouton « Retour » dans le message contextuel concernant les macros.
    Remarque : Si le message affiche uniquement « Oui », « Non » et « Aide », cliquez sur « Non ».
    Capture d’écran montrant comment modifier le code pour l’adapter à d’autres devises
  3. Dans la fenêtre « Enregistrer sous ».
    1. Choisissez un emplacement d’enregistrement.
    2. Sélectionnez « Classeur Excel prenant en charge les macros (*.xlsm) » dans la liste déroulante « Spécifier le format d’enregistrement ».
    3. Cliquez sur « Enregistrer ».
      Capture d’écran montrant comment modifier le code pour l’adapter à d’autres devises

Limites de la fonction VBA SpellNumberToEnglish

Aucune prise en charge de plusieurs langues
  • Cette fonction ne génère des résultats qu'en anglais.
  • Elle ne prend pas en charge d’autres langues (comme le français ou l’allemand), ni les formats monétaires dans lesquels le symbole de la devise précède le montant (par exemple, « Rupees One Hundred » en anglais indien).
Non enregistré au format standard Fichiers Excel
  • Si vous n’enregistrez pas le classeur au format prenant en charge les macros (.xlsm), la fonction sera perdue dès la fermeture d’Excel.
  • Si vous l’enregistrez au format .xlsx standard, tout le code VBA sera supprimé.
Avertissement de sécurité lié aux macros lors du partage
  • L’envoi du fichier prenant en charge les macros à d’autres utilisateurs déclenchera, à l’ouverture, une alerte intitulée « Avertissement de sécurité – Les macros ont été désactivées ».
  • Certains utilisateurs, inquiets face aux risques de sécurité potentiels liés aux macros, pourraient hésiter à les activer et décider de ne pas utiliser le fichier.
Nécessite des connaissances en VBA pour toute personnalisation
  • Toute modification des conditions ou du format monétaire exige une intervention manuelle dans le code VBA.
  • Cette solution ne convient pas idéalement aux utilisateurs peu à l’aise avec les macros ou les scripts.

Méthode 3 : Utiliser Kutools pour Excel (aucune formule ni VBA requis)

Si vous installez « Kutools pour Excel », profitez de sa fonctionnalité « Convertir en mots » pour transformer des nombres en anglais — qu’il s’agisse de montants monétaires ou de chiffres simples — ainsi que dans des dizaines d’autres langues et devises, telles que l’EUR, le GBP, le JPY, etc.

Si vous recherchez une solution conviviale, polyvalente et sans code pour convertir Convertir en mots dans Excel, Kutools pour Excel propose une fonctionnalité dédiée « Convertir en mots » qui prend en charge :

  • Anglais (USD, GBP, EUR, etc.)
  • Des dizaines d’autres langues et devises (par exemple, Yen japonais, Roupie indienne, yuan chinois)
  • Format monétaire ou mots simples (par exemple, « Cent Vingt-Trois » au lieu de « Cent Vingt-Trois Dollars »)

Procédure d’utilisation :

  1. Sélectionnez les cellules contenant les nombres que vous souhaitez convertir.
  2. Sélectionnez « Kutools » > « Contenu » > « Convertir en mots ».
  3. Dans la boîte de dialogue « Nombres en mots monétaires », vous devez :
    1. Choisissez la langue et le format de devise de votre choix (par exemple, anglais – États-Unis pour l’USD).
    2. Cliquez sur « OK ».
      Capture d’écran affichant la boîte de dialogue de conversion des nombres en mots de devise

Optionnel : Cochez « Ne pas convertir en unité monétaire » pour obtenir des mots anglais simples (sans mention de « dollars » ni de « cents »).

Les nombres sélectionnés seront désormais automatiquement convertis en mots monétaires correspondant à vos paramètres.

Kutools pour Excel– Boostez Excel avec plus de 300 outils essentiels, pour gagner en rapidité et en simplicité, et profitez des fonctionnalités d’intelligence artificielle pour un traitement de données plus intelligent et une productivité accrue.Obtenez-le dès maintenant


Opération inverse : Convertir des mots monétaires en nombres

Si vous disposez d’une liste de montants exprimés en toutes lettres en anglais, tels que :

« Cent vingt-trois dollars et quarante-cinq cents »

et que vous souhaitez les convertir en nombres réels dans Excel (par exemple, 123,45), vous pouvez utiliser une fonction personnalisée définie par l’utilisateur en VBA comme suit.

Étape 1 : Ouvrir l’éditeur VBA et insérer le code VBA

  1. Ouvrez votre classeur Excel.
  2. Appuyez sur « Alt » + « F11 » pour ouvrir l’éditeur Microsoft Visual Basic pour Applications (VBA).
  3. Dans l’éditeur VBA, cliquez sur « Insertion » > « Module ».
  4. Copiez et collez le code VBA suivant dans la fenêtre vierge du module :
    Function WordsToNumber(ByVal Txt As String) As Double
    'Updated by Extendoffice
        Dim x As Object: Set x = CreateObject("Scripting.Dictionary")
        Dim units, tens, specials
        Dim part As String, parts() As String
        Dim total As Double, partial As Double, multiplier As Double
        Dim i As Long, word As String
        
        Txt = LCase(Trim(Txt))
        Txt = Replace(Txt, ",", "")
        Txt = Replace(Txt, "-", " ")
        Txt = Replace(Txt, " and ", " ")
        Txt = Replace(Txt, "  ", " ")
        
        ' Setup basic number words
        x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3
        x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7
        x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11
        x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14
        x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17
        x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20
        x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50
        x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80
        x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000
        x.Add "million", 1000000: x.Add "billion", 1000000000
        
        Dim dollarPart As String, centPart As String
        Dim dollarValue As Double, centValue As Double
        
        ' Split into dollars and cents
        If InStr(Txt, "dollar") > 0 Then
            dollarPart = Trim(Split(Txt, "dollar")(0))
        End If
        If InStr(Txt, "cent") > 0 Then
            centPart = Trim(Split(Txt, "cent")(0))
            If InStr(centPart, "dollar") > 0 Then
                centPart = Trim(Split(centPart, "dollar")(1))
            End If
        End If
        
        dollarValue = ParseWordsToNumber(dollarPart, x)
        centValue = ParseWordsToNumber(centPart, x)
        
        WordsToNumber = dollarValue + centValue / 100
    End Function
    
    Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double
        Dim parts() As String: parts = Split(Txt, " ")
        Dim total As Double, current As Double
        Dim i As Long, val As Double
        
        For i = 0 To UBound(parts)
            If x.exists(parts(i)) Then
                val = x(parts(i))
                Select Case val
                    Case 100
                        If current = 0 Then current = 1
                        current = current * val
                    Case Is >= 1000
                        If current = 0 Then current = 1
                        total = total + current * val
                        current = 0
                    Case Else
                        current = current + val
                End Select
            End If
        Next i
        
        total = total + current
        ParseWordsToNumber = total
    End Function

Étape 2 : Appliquer la fonction dans votre feuille

  1. Appuyez sur « Alt » + « Q » pour retourner à Excel.
  2. Dans une cellule vide, saisissez cette formule et appuyez sur « Entrée ». Ensuite, faites glisser la « poignée de recopie » vers le bas pour obtenir tous les autres résultats.
    =WordsToNumber(A2)
    Capture d’écran illustrant la conversion de mots en nombres

Conclusion

Convertir Convertir en mots — ou inversement, transformer des mots en nombres — n’est pas une fonctionnalité native d’Excel, mais ce guide a démontré qu’il existe plusieurs solutions pratiques, adaptées à vos besoins :

  • Les utilisateurs de Microsoft 365 peuvent profiter de fonctions intégrées modernes comme TRANSLATE pour convertir des montants monétaires en mots anglais à l’aide de formules, notamment pour les devises structurées en « unité principale + sous-unité ».
  • Les fonctions définies par l’utilisateur en VBA offrent une plus grande flexibilité, à la fois pour la conversion Convertir en mots et pour la transformation inverse des mots monétaires en valeurs numériques. Toutefois, elles soulèvent des questions de sécurité liées aux macros et conviennent surtout aux utilisateurs familiarisés avec la programmation.
  • Kutools pour Excel propose la solution la plus simple, multilingue et riche en fonctionnalités — sans formule ni codage, et compatible avec des dizaines de devises et de langues.
  • Si vous devez transformer des mots en nombres, la solution VBA comble efficacement cet écart, bien qu’un nettoyage préalable — comme la suppression des virgules — puisse être nécessaire pour garantir des résultats précis.

Que vous prépariez des documents financiers, automatisiez l’impression de chèques ou souhaitiez simplement améliorer la présentation de vos données, le choix de la bonne méthode vous garantit des résultats professionnels et précis.


Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels