OVH Cloud OVH Cloud

un montant écrit en chiffres, je souhaite le traduire automatiq u

3 réponses
Avatar
pat bdx
un montant écrit en chiffres, je souhaite le traduire automatiquement en
lettres sur le même document sur word

3 réponses

Avatar
Circé
regarde faq

pat bdx a couché sur son écran :
un montant écrit en chiffres, je souhaite le traduire automatiquement en
lettres sur le même document sur word


Avatar
Youky
Salut,
J'ai concoqueté cela voilà plusieurs années,
Bonne réussite

s=inputbox("En Chiffres...Merçi","Entrer la somme")
if s="" then exit sub
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 = 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 = centime 'pour centimes en chiffres
'd = a(centime) 'pour centimes en lettres
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
msgbox chiffrelettre

"pat bdx" <pat a écrit dans le message de
news:
un montant écrit en chiffres, je souhaite le traduire automatiquement en
lettres sur le même document sur word


Avatar
Modeste
Bonsour® Youky
pas MECHANT mais un conseil d' AMIS !!!!!
Circé à dit : voir la FAQ
moi je dis voir l'aide : F1 commutateurs généraux
* TexteCard
Affiche les valeurs sous forme de texte cardinal. Le résultat apparaît en
lettres minuscules sauf si vous ajoutez un commutateur de mise en forme pour
spécifier une autre casse. Par exemple, le champ { = SUM(A1:B2) *
TexteCard } affiche « sept cent quatre-vingt-dix » et le champ { SUM(A1:B2) * TexteCard * PremièreMaj } affiche « Sept cent
quatre-vingt-dix ».
* TexteMonnaie
Affiche les valeurs sous la forme de texte cardinal. Microsoft Word insère
« et » à la place du séparateur décimal et affiche les deux premières
décimales (arrondies) sous forme de numérateurs arabes sur 100. Le résultat
apparaît en lettres minuscules sauf si vous ajoutez un commutateur de mise
en forme pour spécifier une autre casse. Par exemple, le champ { = 9,20 +
5,35 * TexteMonnaie * Majuscule } affiche « QUATORZE et 55/100 ».
automatiquement en lettres sur le même document sur word

--
http://viadresse.com/?94912042