Vous ne pouvez pas convertir directement les nombres en mots épelés dans Excel à l'aide d'une fonction intégrée. Cependant, vous pouvez y parvenir en utilisant une combinaison de formules et de code VBA:
Utilisation de formules (limité à des nombres plus petits):
1. Numéro au texte: Utilisez la fonction «Texte» pour convertir le numéro en texte. Par exemple, `=text (10," 0 ")` retournera "10".
2. Tableau de recherche: Créez une table de recherche contenant des nombres et leurs orthographes correspondantes. Ce tableau devra inclure tous les chiffres que vous souhaitez convertir.
3. vlookup: Utilisez la fonction `Vlookup` pour rechercher le numéro dans la table de recherche et renvoyer l'orthographe correspondante. Par exemple, `=vlookup (A1, Table1,2, FALSE)` Recherchera la valeur dans la cellule A1 dans le tableau "Table1" et renvoie la valeur dans la deuxième colonne.
Limitations de l'approche de la formule:
* Plage limitée: Cette méthode ne fonctionne que pour les nombres dans la plage de votre table de recherche.
* Configuration complexe: La création et le maintien d'une grande table de recherche pour tous les nombres possibles peuvent être fastidieux.
Utilisation du code VBA (plus flexible):
1. Ouvrez l'éditeur VBA: Appuyez sur `ALT + F11` pour ouvrir l'éditeur Visual Basic.
2. Insérer le module: Insérez un nouveau module en cliquant sur "Insérer"> "Module".
3. Collez le code: Collez le code suivant dans le module:
`` VBA
Fonction spellNumber (byVal myNumber comme double) comme chaîne
Dim Cundiss as String, Tens as String, Ones as String
Place sombre comme entier
'Gérer les nombres négatifs
Si mynumber <0 alors
SpellNumber ="négatif" &SpellNumber (ABS (MyNumber))
Fonction de sortie
Terminer si
'Gire zéro
Si mynumber =0 alors
SpellNumber ="Zero"
Fonction de sortie
Terminer si
'Gérer les chiffres supérieurs à 999 999 999
Si mynumber> 999999999 alors
SpellNumber ="Numéro trop grand"
Fonction de sortie
Terminer si
'Créer des tableaux pour les orthographes numériques
Dim oneSarray () comme chaîne
OneSArray =Split ("Zero, un, deux, trois, quatre, cinq, six, sept, huit, neuf", ",")
Dim teensArray () comme chaîne
Teensarray =Split ("dix, onze, douze, treize, quatorze, quinze, seize, dix-sept, dix-huit, dix-neuf", ",")
Dim TensArray () comme chaîne
Tensarray =Split ("Vingt, trente, quarante, cinquante, soixante, soixante-dix, quatre-vingt, quatre-vingt-dix", ",")
'Décomposer le nombre en valeurs de place
Place =1
Centaines =""
Tens =""
One =""
Faire pendant que mynumber> 0
Sélectionnez le lieu de cas
Cas 1
Ones =OneRay (Mynumber Mod 10)
MyNumber =int (mynumber / 10)
Cas 2
Si mynumber mod 10 =1 alors
Tens =Teensarray (Mynumber Mod 100 - 10)
MyNumber =int (mynumber / 100)
Autre
Tens =Tensarray (Mynumber Mod 10 - 1)
MyNumber =int (mynumber / 10)
Terminer si
Cas 3
Centaines =oneArray (Mynumber Mod 10) et "Hundred"
MyNumber =int (mynumber / 10)
Cas 4
Si mynumber mod 10 =1 alors
Tens =Teensarray (Mynumber Mod 100 - 10)
MyNumber =int (mynumber / 100)
Autre
Tens =Tensarray (Mynumber Mod 10 - 1)
MyNumber =int (mynumber / 10)
Terminer si
Centaines =oneArray (Mynumber Mod 10) et "Thousand"
MyNumber =int (mynumber / 10)
Cas 5
Ones =OneRay (Mynumber Mod 10)
MyNumber =int (mynumber / 10)
Cas 6
Si mynumber mod 10 =1 alors
Tens =Teensarray (Mynumber Mod 100 - 10)
MyNumber =int (mynumber / 100)
Autre
Tens =Tensarray (Mynumber Mod 10 - 1)
MyNumber =int (mynumber / 10)
Terminer si
Cas 7
Centaines =oneArray (Mynumber Mod 10) et "Hundred"
MyNumber =int (mynumber / 10)
Cas 8
Si mynumber mod 10 =1 alors
Tens =Teensarray (Mynumber Mod 100 - 10)
MyNumber =int (mynumber / 100)
Autre
Tens =Tensarray (Mynumber Mod 10 - 1)
MyNumber =int (mynumber / 10)
Terminer si
Centaines =oneArray (Mynumber Mod 10) et "Million"
MyNumber =int (mynumber / 10)
Fin de sélection
Place =place + 1
Boucle
'Combinez les valeurs de lieu en une seule chaîne
SpellNumber =centaines et dizaines et ceux
Fonction finale
`` '
4. Utilisez la fonction dans Excel: Dans votre feuille Excel, vous pouvez utiliser la fonction comme celle-ci:`=SpellNumber (a1)`, où A1 contient le nombre que vous souhaitez convertir.
Avantages de l'approche VBA:
* Nombres plus grands: Gère les chiffres allant jusqu'à 999 999 999.
* pas de table de recherche: Pas besoin de créer et de maintenir une table de recherche.
Remarque: Le code VBA nécessite l'activation des macros dans Excel.
N'oubliez pas de choisir l'approche qui correspond le mieux à vos besoins et à la taille des nombres que vous devez convertir.
|