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

Macros et VBA Excel Discussion :

Chiffre s'affichant en lettre [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 165
    Par défaut Chiffre s'affichant en lettre
    Bonjour,

    J'ai créer une macro de calcul.
    Les résultats doivent s'afficher sur une feuille word.

    Imaginons simplement
    A1 = 1500,20 €

    Sur la lettre word, je voudrais que 1500,20 € s'affiche et à côté mille cinq cent euro vingt cent entre parenthèses.

    Est-ce que cela est possible ?

    Merci d'avance

    Bien à vous

  2. #2
    Membre éclairé 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
    Par défaut
    bonjour korni
    voici un code que j'utilise pour ma facturation et qui mets le montant ttc en toutes lettres dans une autre cellule(au choix)
    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
    donc ce code est a placer dans un module et il faut mettre dans la cellule receptrice que tu veux (L32) étant la cellule du nombre
    après il te reste a trouvé comment envoyer le résultat dans ta feuille word

    cordialement

    Pascal
    bonjour ormonth
    on s'est croisé dans l'envoi de la réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. correspondance chiffre et mois et lettre de l'alphabet
    Par moimemessssssssss dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/04/2008, 18h24
  2. Réponses: 13
    Dernier message: 23/12/2007, 20h56
  3. Afficher la lettre A en moins de 19 octets
    Par raymonf dans le forum Assembleur
    Réponses: 3
    Dernier message: 29/11/2006, 03h55
  4. Réponses: 5
    Dernier message: 21/07/2006, 18h00
  5. Afficher la lettre suivante
    Par Invité dans le forum ASP
    Réponses: 9
    Dernier message: 22/04/2005, 11h33

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