nb lettre

Djamel69261

XLDnaute Nouveau
Bonjour a tous le monde
je suis nouveau sur ce site
ça me fais tellement plaisir d'être entre vous,je remercie toute l'équipe
j'ai essayé à plusieurs reprise de télécharger macro"Nb lettre (pour convertir un montant en chiffre en Lettre)mais je n'ai pas pu
je serai très connaissant de m'envoyer cette macro sur mon e-mail
merci d'avance
 

gilbert_RGI

XLDnaute Barbatruc
Re : nb lettre

Bonjour et bienvenue sur XLD

pour les €uros


commande exemple =chiffrelettre(A1)
le code à mettre dans un module

VB:
Function chiffrelettre(s)
    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 = 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
 

Discussions similaires

Statistiques des forums

Discussions
314 487
Messages
2 110 119
Membres
110 676
dernier inscrit
Hoolaurent