Convertir chiffres en lettres

Fermé
raymanns - 30 mai 2008 à 18:37
 Alexandre - 25 avril 2015 à 21:47
Bonjour,
j'ai constaté que plusieurs personnes cherche à convertir des chiffres en lettres.
j'ai la solution.
A voir également:

4 réponses

Pour utiliser cette macro gratuite:

- 1
Placez le fichier NbLettre.xla sur votre disque dur.

- 2
Ouvrez Excel, puis dans le menu Outils, sélectionnez Macros complémentaires.
Cliquez sur le bouton Parcourir. La fenêtre qui s'ouvre ressemble à la fenêtre Ouvrir. Parcourez votre Disque dur pour trouver le fichier NbLettre.xla et ouvrez le.

- 3
Maintenant vous pouvez utiliser la fonction ConvNumberLetter que vous trouverez dans la catégorie Personnalisé de l'assistant fonction.

Une fois que vous avez effectué les 2 premières étapes, vous n'avez plus besoin de les refaire à moins que vous supprimiez Excel puis le réinstalliez.

Si à chaque ouverture d'Excel, vous n'avez pas la fonction ConvNumberLetter listé dans la catégorie Personnalisé, suivez les instructions suivantes :
Placez le fichier NbLettre.xla dans le dossier Macrolib contenu dans le dossier Microsoft Office (en général dans Program Files). Il faut un peu chercher dans ce dossier.
Si vous ne trouvez pas ce dossier Macrolib, faites une recherche sur ce nom. Si vous ne le trouvez toujours pas, faites une recherche sur les fichiers *.xla, le bon dossier devant être celui contenant le plus de fichier *.xla
Puis recommencer les 2 premières étapes.
****************

La fonction demande 5 paramètres :
Nombre est le nombre que vous désirez convertir en lettre, vous pouvez sélectionner une cellule ou tapez un nombre
Devise est un chiffre entre 0 et 2 pour indiquer la devise. 0 Par défaut (si vous ne remplissez pas ce paramètre)
0 aucune
1 Euro
2 Dollar $
Langue est un chiffre entre 0 et 2 pour indiquer la langue francophone que vous utilisez. 0 Par défaut (si vous ne remplissez pas ce paramètre)
0 Français
1 Belgique
2 Suisse
Casse est un chiffre entre 0 et 3 pour indiquer la casse (majuscule-minuscule) du résultat. 0 Par défaut (si vous ne remplissez pas ce paramètre)
0 Minuscule
1 Majuscule en début de phrase
2 Majuscule
3 Majuscule en début de chaque mot
ZeroCent est un chiffre entre 0 et 1 pour indiquer l'affichage des cents lorsqu'ils sont égal à 0. 0 Par défaut (si vous ne remplissez pas ce paramètre)
0 Ne mentionne pas les cents s'ils sont égal à 0
1 Mentionne toujours les cents

La conversion est limitée à 999 999 999 999 999 ou 9 999 999 999 999,99
Si le nombre contient plus de 2 décimales, il est arrondit à 2 décimales
23
chtilou Messages postés 1664 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 30 avril 2012 522
30 mai 2008 à 22:18
Bonsoir,

super sympa de ta part. ;-)

Complément d'informations ici.

Cordialement.
0
Bonjour

Je connais la macro NbLettre.xla mais comment puis je la récupérer

Merci de votre réponse

amicalement

clobod
0
Merci
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
21 déc. 2009 à 21:03
Salut,

Une fonction personnaliser à coller dans un module Pour l'utiliser Insertion/Fonction/Personnalisées

Function chiffrelettre(source)
Dim a As Variant, gros As Variant
a = Array("", "Un", "Deux", "Trois", "Quatre", "Cinq", "Six", "Sept", _
"Huit", "Neuf", "Dix", "Onze", "Douze", "Treize", "Quatorze", "Quinze", "Seize", "Dix Sept", _
"Dix Huit", "Dix Neuf", "Vingt", "Vingt et Un", "Vingt Deux", "Vingt Trois", "Vingt Quatre", _
"Vingt Cinq", "Vingt Six", "Vingt Sept", "Vingt Huit", "Vingt Neuf", "Trente", "Trente et Un", _
"Trente Deux", "Trente Trois", "Trente Quatre", "Trente Cinq", "Trente Six", "Trente Sept", _
"Trente Huit", "Trente Neuf", "Quarante", "Quarante et Un", "Quarante Deux", "Quarante Trois", _
"Quarante Quatre", "Quarante Cinq", "Quarante Six", "Quarante Sept", "Quarante Huit", _
"Quarante Neuf", "Cinquante", "Cinquante et Un", "Cinquante Deux", "Cinquante Trois", _
"Cinquante Quatre", "Cinquante Cinq", "Cinquante Six", "Cinquante Sept", "Cinquante Huit", _
"Cinquante Neuf", "Soixante", "Soixante et Un", "Soixante Deux", "Soixante Trois", _
"Soixante Quatre", "Soixante Cinq", "Soixante Six", "Soixante Sept", "Soixante Huit", _
"Soixante Neuf", "Soixante Dix", "Soixante et Onze", "Soixante Douze", "Soixante Treize", _
"Soixante Quatorze", "Soixante Quinze", "Soixante Seize", "Soixante Dix Sept", _
"Soixante Dix Huit", "Soixante Dix Neuf", "Quatre-Vingts", "Quatre-Vingt Un", _
"Quatre-Vingt Deux", "Quatre-Vingt Trois", "Quatre-Vingt Quatre", "Quatre-Vingt Cinq", _
"Quatre-Vingt Six", "Quatre-Vingt Sept", "Quatre-Vingt Huit", "Quatre-Vingt Neuf", _
"Quatre-Vingt Dix", "Quatre-Vingt Onze", "Quatre-Vingt Douze", "Quatre-Vingt Treize", _
"Quatre-Vingt Quatorze", "Quatre-Vingt Quinze", "Quatre-Vingt Seize", "Quatre-Vingt Dix Sept", _
"Quatre-Vingt Dix Huit", "Quatre-Vingt Dix Neuf")
gros = Array("", " Billions ", " Milliards ", " Millions ", " Mille ", " Euros ", " Billion ", _
" Milliard ", " Million ", " Mille ", " Euro ")
sp = Space(1)
chaine = "00000000000000"
Cent = s * 100 - (Int(s) * 100)
s = Str(Int(s)): lg = Len(s) - 1: s = Right(s, lg): lg = Len(s)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
s = chaine + s
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(s, gp, 1): c = a(Val(x))
x = Mid(s, gp + 1, 2): d = a(Val(x))
If k = 5 Then
If t2 <> "" And c & d = "" Then mydz = " Euros " & sp: GoTo fin
If t <> "" And c = "" And d = "Un" Then mydz = " Un Euros " & sp: GoTo fin
If t <> "" And t2 = "" And c & d = "" Then mydz = " d'Euros " & sp: GoTo fin
If t & c & d = "" Then myct = "": mydz = "": GoTo fin
End If
If c & d = "" Then GoTo fin
If d = "" And c <> "" And c <> "Un" Then mydz = c & sp & "Cents " & gros(k) & sp: GoTo fin
If d = "" And c = "Un" Then mydz = "Cent " & gros(k) & sp: GoTo fin
If d = "Un" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "Un " & gros(k + 5) & sp): GoTo fin
If d <> "" And c = "Un" Then mydz = "Cent" & sp
If d <> "" And c <> "" And c <> "Un" Then mydz = c & sp & " Cent " + sp
myct = d & sp & gros(k) & sp
fin:
t2 = mydz & myct
t = t & mydz & myct
mydz = "": myct = ""
gp = gp + 3
Next
d = a(Cent)
If t <> "" Then myct = IIf(Cent = 1, " Centime ", " Centimes ")
If t = "" Then myct = IIf(Cent = 1, " Centime d'Euro ", " Centimes d'Euro ")
If Cent = 0 Then d = "": myct = ""
chiffrelettre = t & d & myct
End Function
6
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 juil. 2008 à 09:31
et bien tu recherches NbLettre.xla dans google...
eric
3
Bjr,
j'ai télécharger la fonction je l'ai installer elle fonctionne mais je ne sais pas l'utiliser.
Je doit convertir des montants on chiffres en toutes lettres en très grand nb il me semble que c'est la fonction adaptée mais je ne réussi pas à la liée à mes montants pour que quand je tape 102,46€ la fonction donne cent deux euros quarante six cents.
Comment dois je faire.
Aidez moi svp
0
57 561
0
Lalaina K-One
2 mars 2015 à 07:19
Bonjour,
Je suis un utilisateur de ce macro.
Je souhaite savoir s'il y a une version adapter a Office 2013
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
2 mars 2015 à 08:42
Bonjour,

C'est pareil pour 2013, il y a une compatibilité ascendante.
A moins que tu n'aies installé par erreur la version 64 bits.
eric
0
et si on a office 2013 64 bits ?
0