IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

chiffres(monétaire) en lettres


Sujet :

Contribuez

  1. #1
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut chiffres(monétaire) en lettres
    bonjour a tous
    avec plusieurs demande sur le forum voici un code a mettre dans un module standard afin de mettre le chiffre(monétaire) en toutes lettres dans la cellule de votre choix sous réserve d'y mettre =chiffrelettre(L32), (L32) étant une cellule fictive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    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", " CENTS")
    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
    cordialement a tous

    Pascal

  2. #2
    Membre expérimenté Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Points : 1 482
    Points
    1 482
    Par défaut
    Bonjour
    Je trouve super ce code, reste à corriger la faute de Français pour le "cent", car devant mille, cent reste invariable, mais s'accorde devant millier, million, milliard.
    Je vais utiliser ce code qui est très interessant et qui fonctionne très facilement.
    Un grand merci.

  3. #3
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour vadorblanc
    merci de me faire le remarque car je n'y ai pas pensé du tout , sur mon fichier après essai "cent" est toujours au pluriel?
    ta remarque est judicieuse et j'y ai fait la modif a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If T <> "" Then myct = IIf(centime = 1, " centime", " CENT")
    et a toutes les sommes j'ai "cent" au singulier
    je ne sais pas sur quel ligne il faut agir pour arrivé a ta remarque
    ce code n'étant pas de mon cru

    merci

    Pascal

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    bonjour grizan

    il n'y a que 2 "cents" avec un "s" il te sera facile de trouver le bon


    au plaisir

  5. #5
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonsoir Patrick
    dans la version tordue de mon fichier ce code fonctionnait bien avant d'avoir poster le code en fait il y a 3 "cent" dont 1 écrit en grand (par moi)
    je ne peux plus faire évolué le fichier a modules car je bloque et je ne veux pas en faire une usine a gaz comme l'autre, j'attendrais patiemment ta 1ere mouture
    cordialement

    pascal

Discussions similaires

  1. Ecrire des chiffres en toutes lettres
    Par ali_Imouzzer dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/02/2007, 19h44
  2. Savoir si un caractère est un chiffre ou une lettre
    Par mael94420 dans le forum WinDev
    Réponses: 7
    Dernier message: 15/09/2006, 15h42
  3. remplacer des chiffres par des lettres, & vis versa
    Par Argorate dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/08/2006, 20h36
  4. Réponses: 2
    Dernier message: 22/01/2006, 00h47
  5. Conversion chiffres en toutes lettres
    Par jouda dans le forum Langage
    Réponses: 2
    Dernier message: 11/11/2005, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo