Conversion chiffre en lettres excel 2016

Résolu/Fermé
gturkmen
Messages postés
42
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
12 février 2018
- 10 sept. 2017 à 08:43
 Florence - 19 mars 2021 à 13:54
Bonjour,
J'ai excel 2016 et je voudrais convertir des chiffres en lettres. du style 112,20€ = cent douze euros et vingt cts. J'ai essayé plusieurs modules mais sa ne fonctionne pas sous excel 2016. Avez vous une idee ?


A voir également:

4 réponses

mchotard
Messages postés
321
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 avril 2022
35
Modifié le 8 janv. 2018 à 09:39
Salut
Essaie de copier cette macro dans ton fichier (dans visual basic). Puis ensuite dans ton fichier tu copie la formule "=chiffrelettre(référence de la cellule de chiffre).
J'utilise cette fonction et cela marche. Si tu as besoin envoie moi un fichier.
Bonne chance

Function chiffrelettre(chiffre)  ' Youky

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"
centime = chiffre * 100 - (Int(chiffre) * 100)
chiffre = Str(Int(chiffre)): lg = Len(chiffre) - 1: chiffre = Right(chiffre, lg): lg = Len(chiffre)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
chiffre = chaine + chiffre
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(chiffre, gp, 1): c = a(Val(x))
x = Mid(chiffre, 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(centime)
If t <> "" Then myct = IIf(centime = 1, " centime", " centimes")
If t = "" Then myct = IIf(centime = 1, " centime d'Euro", " centimes d'Euro")
If centime = 0 Then d = "": myct = ""
chiffrelettre = t & d & myct
End Function
32
Super !!! ça marche pour moi sur EXCEL 2016 ! mais comment agir sur le code pour Conversion avec sans symbole monétaire ou Changer le Symbole Euro en Franc CFA.
0
taoufiq73
Messages postés
1
Date d'inscription
mardi 6 mars 2018
Statut
Membre
Dernière intervention
6 mars 2018

6 mars 2018 à 10:52
Ça marche, un grand merci
0
Il faut juste entrer dans ton code visual basic. Chercher "Euro" et le remplacer par "FCFA". Pour être malin, tu copies Euro, tu fais CTRL H, tu fais remplacer tout par FCFA. Regarde s'il ne reste pas d'euro. Et c'est fini.
0
LASOMA68
Messages postés
1
Date d'inscription
mercredi 11 avril 2018
Statut
Membre
Dernière intervention
11 avril 2018

11 avril 2018 à 19:40
Bonsoir,
J'ai suivi les indications de SUPPORT OFFICE "convertir des nombres en mots", la formule à insérer dans le module est inexacte. Je me tourne donc vers vous : Est-il possible de vous envoyer mon fichier ? car j'ai bien essayé de comprendre mais....
Merci d'avance et très bonne soirée
0
Super ! Merci beaucoup
0