Note: The other languages of the website are Google-translated. Back to English

Comment convertir rapidement des nombres en mots anglais dans Excel?

Si vous avez une colonne de valeurs numériques dans une feuille de calcul et que vous devez maintenant les associer à leurs mots anglais équivalents ou à leurs mots de devise anglais, comme illustré ci-dessous. Ici, je vais parler de la façon de changer les nombres en mots anglais rapidement et facilement.

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

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

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


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:

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.

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


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:


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

Le code ci-dessus est quelque peu gênant pour les débutants d'Excel, ici, je vais vous présenter une fonctionnalité utile, Kutools pour Excel's Nombres en mots, avec cet utilitaire, vous pouvez rapidement épeler les nombres en mots anglais ou en mots monétaires.

Conseils:Appliquer cette Nombres en mots fonctionnalité, tout d'abord, vous devez télécharger le Kutools pour Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools pour 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:

2. Dans le Nombres en mots monétaires boîte de dialogue, cochez Anglais Option de Langues zone de liste, puis cliquez sur Ok bouton, vous verrez tous les nombres ont été épelés dans les mots de la devise anglaise:

Conseils: Si vous voulez obtenir les mots anglais, veuillez vérifier le Non converti en devise case à cocher de la Options section, voir les captures d'écran:

Cliquez pour télécharger Kutools pour Excel et un essai gratuit maintenant!


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Commentaires (62)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Salut bonne matinéeSalut.. Bonjour.. C'est un plaisir de vous rencontrer.
Ce commentaire a été minimisé par le modérateur sur le site
ce code ne fonctionne pas
Ce commentaire a été minimisé par le modérateur sur le site
Monsieur, comment puis-je convertir des chiffres en mots avec le dernier mot "Seulement" ?
Ce commentaire a été minimisé par le modérateur sur le site
problème résolu ?????
Ce commentaire a été minimisé par le modérateur sur le site
Vous devez ajouter une autre formule supplémentaire dans une autre colonne
="Rs."&""&F6&"Seulement"&"."
Ce commentaire a été minimisé par le modérateur sur le site
que diriez-vous si le nombre a un (.) comme 150.75 ou 3.35 ? merci de m'aider s'il vous plait...
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour votre aimable soutien pour la création de la formule. Pouvez-vous nous dire si nous devons ajouter le nom de la devise, comme les riyals saoudiens ou les livres sterling.
Ce commentaire a été minimisé par le modérateur sur le site
Par exemple, nous convertissons 4000 en mot "Quatre mille", je veux le traduire comme "Saudi Riyals Four Thousand Only" donc manquant dans la formule est "Saudi Riyals & Only"
S'il vous plaît aider
Ce commentaire a été minimisé par le modérateur sur le site
La formule mentionnée ci-dessus dans le module est répétée et copiée à partir du site Web de Microsoft.

Veuillez consulter le lien d'origine et suivre Microsoft Update.

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Ce commentaire a été minimisé par le modérateur sur le site
cher ce code montre une erreur de syntaxe dans cette ligne
Cents = GetTens(Gauche(Mid(MyNumber, DecimalPlace + 1) &_"00", 2))

pouvez-vous m'aider ..??Répondez-moi dès que possible
Ce commentaire a été minimisé par le modérateur sur le site
AJOUTER LE MOT ET ENTRE LES MOTS. cent quarante mille cinq cent vingt-six au lieu de cent quarante mille cinq cent vingt-six. La phrase peut ne pas être bien comprise car son anglais n'est pas correct.
Ce commentaire a été minimisé par le modérateur sur le site
ce code ne fonctionne pas de manière permanente ... si nous fermons et ouvrons la feuille, cela ne fonctionne pas
Ce commentaire a été minimisé par le modérateur sur le site
Enregistrez le fichier sous "Macro Enabled Work Book" et activez les macros lorsque vous l'ouvrez
Ce commentaire a été minimisé par le modérateur sur le site
merci beaucoup car tu es code
Ce commentaire a été minimisé par le modérateur sur le site
Par exemple, nous convertissons 2500 en mot "Deux mille cinq cents", je veux le traduire comme "Deux mille cinq cents seulement" donc manquant dans la formule est "Seulement"
S'il vous plaît aider
Ce commentaire a été minimisé par le modérateur sur le site
utilisez =CONCATENATE(NumberstoWords(A1)," Only")
Ce commentaire a été minimisé par le modérateur sur le site
Vraiment merci mon cher, votre formule était parfaite, bon, Allah vous bénisse.
Cordialement.
Ce commentaire a été minimisé par le modérateur sur le site
lakh crore pas dans la formule. Veuillez m'aider.
Ce commentaire a été minimisé par le modérateur sur le site
Par exemple, nous convertissons 2500 en mot "Two Thousand Five Hundred", je veux le traduire comme "Two Thousand Five Hundred & Cents Fifty Only" donc pourriez-vous s'il vous plaît aider
Ce commentaire a été minimisé par le modérateur sur le site
Je n'écris pas les centimes... mon montant est de 123.50 et j'ai "cent vingt-trois"... j'ai copié toute la formule, aidez-moi s'il vous plaît
Ce commentaire a été minimisé par le modérateur sur le site
Qu'en est-il des lakhs et des crores
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup
Ce commentaire a été minimisé par le modérateur sur le site
AMENDE. Mais désolé de dire que cette formule ne fonctionne PAS en permanence ... J'ai fermé le classeur pour la pause déjeuner. Après le déjeuner, j'ai ouvert le fichier mais la formule ne fonctionnait pas. montrant une erreur comme #NAME?. Veuillez solutions intimes s'il vous plaît.
Ce commentaire a été minimisé par le modérateur sur le site
Merci


Ça marche! :)
Ce commentaire a été minimisé par le modérateur sur le site
il y a un bug lorsque mon montant est "618475" il est écrit "six cent dix huit mille quatre cent soixante quinze" au lieu de "six lac dix huit mille quatre cent soixante quinze".
Ce commentaire a été minimisé par le modérateur sur le site
J'ai le même problème
Ce commentaire a été minimisé par le modérateur sur le site
Ce n'est pas un problème, c'est un format d'écriture en mots
Ce commentaire a été minimisé par le modérateur sur le site
Merci extendOfficea
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL