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

Comment convertir une devise en texte de mots dans Excel?

Pour les locuteurs non natifs qui utilisent l'anglais comme deuxième langue, il est parfois difficile de changer directement le numéro de devise en mots anglais lorsque le nombre est trop long. Dans cet article, vous apprendrez à convertir facilement une devise en texte de mots dans Excel.

Convertir la devise en mots avec le code VBA
Convertissez la devise en mots avec Kutools for Excel


Convertir la devise en mots avec le code VBA

Avec le code VBA ci-dessous, vous pouvez convertir le numéro de devise en mots anglais.

1. presse autre + F11 ouvrir le Microsoft Visual Basic pour applications boite de dialogue.

2. dans le Microsoft Visual Basic pour applications boîte de dialogue, cliquez sur insérer > Module. Ensuite, copiez et collez le code ci-dessous dans la fenêtre de code.

Code VBA: Convertissez le numéro de devise en mots anglais

Function NumberstoWords(ByVal pNumber)
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
NumberstoWords = 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. presse autre + Q touches simultanément pour fermer le Microsoft Visual Basic pour applications boite de dialogue.

4. Sélectionnez une cellule vide (B1) qui est adjacente à la cellule que vous souhaitez convertir en mots, entrez la formule = NumberstoWords (A1), puis appuyez sur Entrer clé.

Notes: A1 est la cellule contenant le numéro de devise. Vous pouvez le modifier selon vos besoins.

5. Sélectionnez la cellule B1, faites glisser la poignée de remplissage vers le bas pour obtenir tous les mots anglais des nombres de devises.


Convertissez la devise en mots avec Kutools for Excel

Ce long code VBA semble compliqué. Ici, je vais vous présenter un utilitaire pratique pour résoudre facilement ce problème. Avec le Nombres en mots utilité de Kutools pour Excel, la conversion de devises en mots ne sera plus un problème. Veuillez faire comme suit.

Avant d'appliquer Kutools pour Excel, S'il vous plaît téléchargez et installez-le d'abord.

1. Sélectionnez les cellules contenant les numéros de devise que vous souhaitez convertir.

2. Cliquez Kutools > Contenu > Nombres en mots. Voir la capture d'écran:

3. dans le Nombres en mots monétaires boîte de dialogue, sélectionnez Anglais option, et cliquez sur le OK or Appliquer .

Désormais, les numéros de devise sélectionnés sont immédiatement convertis en mots anglais.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


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-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. 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 (16)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
la devise est toujours en dollars et en cents, comment pouvons-nous changer cela en une autre devise ?
Ce commentaire a été minimisé par le modérateur sur le site
Vous pouvez changer le code en votre devise au lieu de "dollers"
Ce commentaire a été minimisé par le modérateur sur le site
M. Shaji pouvez-vous guider les étapes S'il vous plaît
Ce commentaire a été minimisé par le modérateur sur le site
Consultez l'article Guide du débutant pour la conversion d'un million de milliards de milliards de milliards de dollars pour apprendre et comprendre le système de numération et la conversion des nombres.
Ce commentaire a été minimisé par le modérateur sur le site
ne peut pas être changé la devise
Ce commentaire a été minimisé par le modérateur sur le site
J'adore ta macro. J'ai trouvé une chose qui ne fonctionne pas très bien. C'est quand il y a un fractionnaire. Par exemple, si un champ apparaît comme .835, Excel l'arrondit mais la valeur est saisie comme "quatre-vingt-trois cents" alors qu'Excel affiche .84.
Travailler autour de cela?
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Désolé pour le dérangement. Nous avons mis à jour le code, veuillez essayer.

Function NumberstoWords(ByVal pNumber)
'Updated by Extendoffice 20220428
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
pNumber = Round(pNumber, 2)
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
NumberstoWords = 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
Ce commentaire a été minimisé par le modérateur sur le site
Cette macro ici m'a beaucoup aidé, merci beaucoup pour cela. Notre devise ici au Koweït a 3 chiffres après la virgule, pourriez-vous m'aider avec cela ?
Ce commentaire a été minimisé par le modérateur sur le site
Si 45.67 s'écrit quarante-cinq dollars, soixante-sept cents, comment s'écrit 45.678 ? Est-ce quarante-cinq dollars, six cent soixante-dix-huit cents ?
Ce commentaire a été minimisé par le modérateur sur le site
Ce commentaire a été minimisé par le modérateur sur le site
Vous voulez une solution qui ne nécessite pas VBA ?
Accédez à notre sélection en cliquant ici
Voir le résultat dans la capture d'écran
Ce commentaire a été minimisé par le modérateur sur le site
Pouvez-vous mettre à jour le code pour utiliser Dinar et Fils .. Fils décimal est 3 .. signifie qu'il a des centaines, des dizaines et des unités ..
Merci ..
Ce commentaire a été minimisé par le modérateur sur le site
Salut Naseem,
Peut-être que le code VBA sur la page suivante peut vous aider.
Convertir des nombres en mots en utilisant Dinar et Fils.
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup ..
Pouvez-vous mettre à jour le pour écrire les remplissages en nombre et non en mot.
125.100 --> Cent vingt cinq dinars koweïtiens et 100 fils seulement

Merci
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour à l'aide, j'adore votre formule mais je voudrais mettre à jour la formule pour qu'elle reste comme l'exemple en majuscules. Merci beaucoup.
Mise en situation :
121,500.56 XNUMX USD = cent vingt et un mille cinq cents dollars et cinquante six cents
***CENT VINGT ET UN MILLE CINQ CENT 56/100 DOLLARS AMÉRICAINS

121,500.00 XNUMX USD = cent vingt et un mille cinq cents dollars et aucun centime
***CENT VINGT ET UN MILLE CINQ CENT 00/100 DOLLARS AMÉRICAINS
Ce commentaire a été minimisé par le modérateur sur le site
Salut ange,
Le code VBA suivant peut vous rendre service. Après avoir ajouté le code au Module (Code) la fenêtre. N'oubliez pas d'appliquer cette formule =NombresàMots(cellule) pour obtenir le résultat.
Function NumberstoWords(ByVal pNumber)
'Updated by Extendoffice 20221123
Application.Volatile

Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")

If xDecimal > 0 Then
    Cents = Left(Mid(pNumber, xDecimal + 1) & "00", 2)
    Cents = "AND " & Cents & "/100 US DOLLARS"
    pNumber = Trim(Left(pNumber, xDecimal - 1))
Else
    Cents = "AND " & "00/100 US DOLLARS"
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
End Select
NumberstoWords = UCase(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
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés