Passer au contenu principal
 

Comment convertir rapidement des nombres en mots anglais dans Excel?

Auteur : Xiaoyang Dernière modification: 2024-07-19

La conversion de nombres en mots dans Excel est utile pour préparer des rapports financiers, des documents juridiques ou des chèques pour lesquels vous devez épeler des montants. Bien qu'Excel n'offre pas de fonction intégrée pour convertir les nombres directement en mots, il existe plusieurs méthodes que vous pouvez utiliser pour y parvenir, allant de l'utilisation d'une macro Visual Basic pour Applications (VBA) aux compléments tiers et en ligne. outils. Ci-dessous, nous explorerons certaines de ces méthodes pour vous aider à trouver la meilleure solution pour vos besoins.


Convertir des nombres en mots monétaires avec la fonction définie par l'utilisateur

Si vous souhaitez convertir les nombres en mots de devise anglais, vous devez appliquer le code VBA ci-dessous.

1. Maintenez la touche ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

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

3. Enregistrez ce code et revenez à la feuille de calcul, dans une cellule vide, entrez cette formule = SpellNumberToEnglish (A2)( A2 est la cellule dans laquelle vous souhaitez convertir le nombre en un mot de devise anglais), puis faites glisser la poignée de recopie vers les cellules auxquelles vous souhaitez appliquer cette formule, tous les nombres ont été épelés en mots de devise anglais, voir capture d'écran:

convertir des nombres en mots anglais


Convertissez des nombres en mots monétaires avec une fonctionnalité utile

Épelez les nombres en mots sans effort avec Kutools for Excel ! Que vous ayez besoin d'expressions monétaires anglaises ou de chiffres allemands, Kutools» Nombres en mots La fonctionnalité prend en charge plus de 40 langues, rationalisant ainsi votre flux de travail. Simplifiez vos rapports financiers, documents juridiques et bien plus encore en convertissant des valeurs numériques en mots écrits précis en quelques clics. Découvrez comment Kutools for Excel peut rendre le traitement de vos données plus rapide et plus précis. Essayez-le aujourd'hui et découvrez le pouvoir de l'efficacité !

Kutools for Excel offre plus de 300 fonctionnalités avancées pour rationaliser les tâches complexes, stimulant ainsi la créativité et l'efficacité. Amélioré grâce aux capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données sans effort. Lire la suite...         Essai gratuit...

Après l'installation de Kutools for Excel, veuillez faire comme ceci:

1. Sélectionnez la liste des nombres que vous souhaitez convertir, puis cliquez sur Kutools > Contenu > Nombres en mots, voir capture d'écran:

convertir des nombres en mots anglais

2. Dans le Nombres en mots monétaires boîte de dialogue, choisissez la langue que vous souhaitez utiliser, ici je vais sélectionner anglais Option de Langues zone de liste, voir capture d'écran:

convertir des nombres en mots anglais

3. Et puis cliquez OK bouton, vous verrez tous les nombres ont été épelés dans les mots de la devise anglaise:

convertir des nombres en mots anglais

Astuces: Si vous souhaitez obtenir uniquement les mots anglais, pas les mots monétaires, veuillez vérifier le Non converti en devise case à cocher de la Options section, voir capture d'écran:

convertir des nombres en mots anglais


Convertir des nombres en mots anglais avec la fonction définie par l'utilisateur

Aucune fonctionnalité ou formule ne peut vous aider à résoudre cette tâche directement dans Excel, mais vous pouvez créer une fonction définie par l'utilisateur pour la terminer. Veuillez suivre les étapes suivantes:

1. Maintenez la touche ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. Enregistrez et fermez ce code et revenez en arrière dans la feuille de calcul, dans une cellule vide, entrez cette formule = NumberstoWords (A2)( A2 est la cellule dans laquelle vous souhaitez convertir le nombre en mot anglais), voir capture d'écran:

convertir des nombres en mots anglais

4. Puis appuyez Entrer et sélectionnez la cellule C2, puis faites glisser la poignée de recopie vers la plage dans laquelle vous souhaitez contenir cette formule. Toutes les valeurs numériques ont été converties leurs mots anglais correspondants.

convertir des nombres en mots anglais

Notes: Ce code ne fonctionne que pour les nombres entiers mais ne s'applique pas aux nombres décimaux.

Le choix de la bonne méthode dépend de vos préférences et de la fréquence à laquelle vous avez besoin de convertir des nombres en mots dans Excel. VBA offre la plus grande flexibilité et intégration dans Excel, tandis que les compléments peuvent fournir une solution plus simple. En suivant ces méthodes, vous pouvez convertir efficacement des nombres en mots dans votre feuille de calcul Excel. Si vous souhaitez découvrir davantage de trucs et astuces Excel, notre site Web propose des milliers de didacticiels. Veuillez cliquer ici pour y accéder.

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche 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 spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail

  • Activer 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 réduit des centaines de clics de souris chaque jour!