Table des matières
Dans cet article, je vais vous montrer deux façons rapides et gratuites de convertir les chiffres des devises en mots anglais dans Excel 2019, 2016, 2013 et autres versions.
Microsoft Excel est un excellent programme pour calculer ceci et cela. Il a été initialement développé pour traiter de grands tableaux de données, mais il permet également de créer rapidement et efficacement des documents comptables tels que des factures, des évaluations ou des bilans.
Dans les documents de paiement plus ou moins solides, il est nécessaire de dupliquer les valeurs numériques avec leur forme verbale. Il est beaucoup plus difficile de falsifier des chiffres dactylographiés que ceux écrits à la main. Un escroc peut essayer de faire passer 8000 de 3000, alors qu'il est presque impossible de remplacer secrètement "trois" par "huit".
Il ne suffit donc pas de convertir les nombres en mots dans Excel (par exemple 123,45 en "cent vingt-trois, quarante-cinq"), mais d'épeler les dollars et les cents (par exemple 29,95 dollars en "vingt-neuf dollars et quatre-vingt-dix-neuf cents"), les livres et les pences en GBP, les euros et les eurocents en EUR, etc.
Même les dernières versions d'Excel ne disposent pas d'un outil intégré pour épeler les nombres, sans parler des versions antérieures. Mais c'est là qu'Excel est vraiment bon. Vous pouvez toujours améliorer ses fonctionnalités en utilisant des formules dans tous leurs domaines.
des macros VBA ou des modules d'extension tiers.
Vous trouverez ci-dessous deux façons de convertir des chiffres en mots
Et, éventuellement, vous pouvez avoir besoin de convertir des mots en chiffres dans Excel.
Remarque : si vous cherchez le conversion de chiffres en texte Pour cela, vous pouvez utiliser la fonction TEXT ou d'autres méthodes décrites dans Comment transformer des chiffres en texte dans Excel.
Macro VBA SpellNumber pour convertir les chiffres en mots
Comme je l'ai déjà mentionné, Microsoft ne voulait pas ajouter un outil pour cette tâche. Cependant, quand ils ont vu combien d'utilisateurs en avaient besoin, ils ont créé et publié la macro VBA spéciale sur leur site web. La macro fait ce que son nom SpellNumber suggère. Toutes les autres macros que j'ai rencontrées sont basées sur le code Microsoft.
Vous pouvez trouver la macro mentionnée sous le nom de "spellnumber formula". Cependant, il ne s'agit pas d'une formule, mais d'une fonction de macro, ou pour être plus précis Fonction définie par l'utilisateur d'Excel (UDF).
L'option "spellnumber" est capable d'écrire des dollars et des cents. Si vous avez besoin d'une autre devise, vous pouvez modifier " dollar " et " cent " avec le nom de celui-ci.
Si vous n'êtes pas un spécialiste de VBA, vous trouverez ci-dessous une copie du code. Si vous ne voulez toujours pas ou n'avez pas le temps de résoudre ce problème, veuillez utiliser cette solution.
- Ouvrez le classeur dans lequel vous devez épeler les chiffres.
- Appuyez sur Alt+F11 pour ouvrir la fenêtre de l'éditeur Visual Basic.
- Si vous avez plusieurs livres ouverts, vérifiez que le classeur nécessaire est actif en utilisant la liste des projets dans le coin supérieur gauche de l'éditeur (un des éléments du classeur est surligné en bleu).
- Dans le menu de l'éditeur, allez dans Insérer -> ; Module .
- Vous devriez voir une fenêtre nommée YourBook - Module1. Sélectionnez tout le code dans le cadre ci-dessous et collez-le dans cette fenêtre.
Option Explicit 'Main Function Function SpellNumber( ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, "." ) If DecimalPlace> ; 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & ; _ "00", 2)) MonNombre = Trim(Left(MonNombre, DecimalPlace - 1)) End If Count = 1 Do While MyNumber "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp "" Then Dollars = Temp & ; Place(Count) & ; Dollars If Len(MyNumber)> ; 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "OneDollar" Case Else Dollars = Dollars & ; " Dollars" End Select Select Case Cents Case "" Cents = " et aucun Cents" Case "One" Cents = " et un Cent" Case Else Cents = " et " & ; Cents & ; " Cents" End Select SpellNumber = Dollars & ; Cents End Function Function GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" & ; MyNumber,3) ' Convertir la position des centaines. Si Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & ; " Hundred " End If ' Convertir la position des dizaines et des unités. Si Mid(MyNumber, 2, 1) "0" Then Result = Result & ; GetTens(Mid(MyNumber, 2)) Else Result = Result & ; GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function Function GetTens(TensText) Dim Result As String Result = ""Si Val(Left(TensText, 1)) = 1 Then ' Si la valeur est comprise entre 10 et 19... Select Case Val(TensText) Case 10 : Resultat = "Ten" Case 11 : Resultat = "Eleven" Case 12 : Resultat = "Twelve" Case 13 : Resultat = "Thirteen" Case 14 : Resultat = "Fourteen" Case 15 : Resultat = "Fifteen" Case 16 : Resultat = "Sixteen" Case 17 : Resultat = "Seventeen" Case 18 : Resultat = "Eighteen" Case 19 : Resultat ="Nineteen" Case Else End Select Else ' Si la valeur est comprise entre 20 et 99... Select Case Val(Left(TensText, 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(TensText, 1)) ' RetrieveEnd If GetTens = Result End Function Function GetDigit(Digit) Select Case Val(Digit) 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
- Appuyez sur Ctrl+S pour enregistrer le classeur mis à jour.
Vous devrez réenregistrer votre classeur. Lorsque vous essayez d'enregistrer le classeur avec une macro, vous obtiendrez le message " Les caractéristiques suivantes ne peuvent pas être sauvegardées dans un classeur sans macros "
Cliquez sur Non. Lorsque vous voyez apparaître une nouvelle boîte de dialogue, choisissez l'option Enregistrer sous. Dans le champ " Enregistrer comme type "Choisissez l'option " Classeur Excel compatible avec les macros ".
Utiliser la macro SpellNumber dans vos feuilles de travail
Vous pouvez maintenant utiliser la fonction Numéro d'orthographe dans vos documents Excel. Entrez =Numéro d'orthographe(A2)
dans la cellule où vous avez besoin d'obtenir le nombre écrit en mots. Ici, A2 est l'adresse de la cellule avec le nombre ou le montant.
Vous pouvez voir ici le résultat :
Voilà !
Copiez rapidement la fonction SpellNumber dans d'autres cellules.
Si vous devez convertir l'ensemble du tableau, et pas seulement une cellule, placez le curseur de votre souris dans le coin inférieur droit de la cellule contenant la formule jusqu'à ce qu'il se transforme en une petite croix noire :
Faites un clic gauche et faites-le glisser sur la colonne pour remplir la formule. Relâchez le bouton pour voir les résultats :
Remarque : n'oubliez pas que si vous utilisez SpellNumber avec un lien vers une autre cellule, la somme écrite sera mise à jour chaque fois que le nombre dans la cellule source sera modifié.
Vous pouvez également saisir le numéro directement dans la fonction, par exemple, =SpellNumber(29.95)
(29,95 - sans les guillemets et le symbole du dollar).
Inconvénients de l'utilisation d'une macro pour épeler les chiffres dans Excel
Tout d'abord, vous devez connaître VBA pour modifier le code en fonction de vos besoins. Il est nécessaire de coller le code pour chaque classeur, où vous prévoyez de le modifier. Sinon, vous devrez créer un fichier modèle avec des macros et configurer Excel pour qu'il charge ce fichier à chaque démarrage.
Le principal inconvénient de l'utilisation d'une macro est que si vous envoyez le classeur à quelqu'un d'autre, cette personne ne verra pas le texte, à moins que la macro ne soit intégrée au classeur. Et même si elle est intégrée, elle recevra une alerte indiquant que le classeur contient des macros.
Épeler les chiffres en mots à l'aide d'un add-in spécial
Pour les utilisateurs d'Excel qui ont besoin d'épeler rapidement des sommes mais qui n'ont pas le temps d'apprendre VBA ou de trouver des solutions de contournement, nous avons créé un outil spécial qui peut effectuer rapidement la conversion des montants en mots pour quelques devises courantes.
En plus d'être prêt à l'emploi, l'outil est vraiment flexible pour convertir les montants en texte :
- Vous pouvez sélectionner l'une des devises suivantes : USD, EUR, GBP, BIT, AUD.
- Écrivez la partie fractionnaire en cents, pennies ou bitcents.
- Choisissez n'importe quelle casse pour le résultat : minuscule, majuscule, titre ou phrase.
- Ecrivez la partie décimale de différentes manières.
- Inclure ou omettre les centimes zéro.
Le module complémentaire est compatible avec toutes les versions modernes, notamment Excel 365, Excel 2029, Excel 2016, Excel 2013 et Excel 2010. N'hésitez pas à explorer d'autres fonctionnalités sur la page d'accueil du produit, dont le lien figure ci-dessus.
Et maintenant, voyons cet utilitaire d'orthographe numérique en action :
- Sélectionnez une cellule vide pour le résultat.
- Sur le Ablebits dans l'onglet Utilitaires cliquez sur Numéro du sort .
- Dans le Numéro du déversement Dans la fenêtre de dialogue qui apparaît, configurez les éléments suivants :
- Pour le Sélectionnez votre numéro choisissez la cellule contenant le montant que vous souhaitez voir écrit en tant que texte.
- Spécifiez le actuellement , casse de lettres et la façon dont le partie décimale du numéro doit être épelé.
- Définir s'il faut inclure les centimes zéro ou non.
- Choisissez d'insérer le résultat sous forme de valeur ou de formule.
- Au bas de la fenêtre de dialogue, aperçu Si vous êtes satisfait de la manière dont votre numéro est écrit, cliquez sur Sort Sinon, essayez d'autres réglages.
La capture d'écran ci-dessous montre les choix par défaut et le numéro épelé en B2. Remarquez une formule (plus précisément, une fonction définie par l'utilisateur) dans la barre de formule :
Et ceci est une démonstration rapide de la façon dont d'autres devises peuvent être épelées :
Conseils et notes :
- Parce que le Numéro du sort a été conçu pour traiter des cas d'utilisation réels tels que des factures et d'autres documents financiers, il ne peut convertir que les documents suivants un numéro à la fois.
- Pour épeler un colonne de chiffres insérez une formule dans la première cellule, puis copiez la formule vers le bas.
- S'il y a une chance que vos données sources changent à l'avenir, il est préférable de insérer le résultat sous forme de formule Il est donc mis à jour automatiquement lorsque le numéro d'origine change.
- Lorsque vous choisissez le résultat en tant que formule une option personnalisée fonction définie par l'utilisateur (Si vous prévoyez de partager votre classeur avec une personne qui n'a pas installé Ultimate Suite, n'oubliez pas de remplacer les formules par des valeurs avant de les partager.
Conversion inverse - des mots anglais en chiffres
Franchement, je ne vois pas pourquoi vous en auriez besoin. Mais au cas où... :)
Il semble que le MVP d'Excel, Jerry Latham, ait créé une telle fonction définie par l'utilisateur (UDF) en tant que WordsToDigits Il convertit les mots anglais en chiffres.
Vous pouvez télécharger le cahier d'exercices WordsToDigits de Jerry pour voir le code UDF. Vous y trouverez également ses exemples d'utilisation de la fonction.
Vous pouvez voir comment la fonction fonctionne sur la feuille " Exemples d'entrées "Si vous envisagez d'utiliser WordsToDigits dans vos documents, sachez que cette fonction a des restrictions. Par exemple, elle ne reconnaît pas les fractions saisies dans les mots. Vous trouverez tous les détails sur le site " Information feuille ".