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

Access Discussion :

arrondir le nb (sans centimes) dans un module de convertion de chiffre en lettre


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut arrondir le nb (sans centimes) dans un module de convertion de chiffre en lettre
    Bonjour, j'ai un module de convertion de chiffre en lettre qui marche (très bien), mais la monnaie du Cameroun ( Fcfa) n'a pas de centimes, comment dois-je modifier mon module pour que le nombre soit arrondi ?

    Voici le module


    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    Option Compare Database
     
     
     
        Public Function ConvertNbLettres(Nb) As String
     
     
            Dim varnum, varnumD, varnumU, resultat, varlet
     
            Static Chiffre(1 To 19)
                Chiffre(1) = "un"
                Chiffre(2) = "deux"
                Chiffre(3) = "trois"
                Chiffre(4) = "quatre"
                Chiffre(5) = "cinq"
                Chiffre(6) = "six"
                Chiffre(7) = "sept"
                Chiffre(8) = "huit"
                Chiffre(9) = "neuf"
                Chiffre(10) = "dix"
                Chiffre(11) = "onze"
                Chiffre(12) = "douze"
                Chiffre(13) = "treize"
                Chiffre(14) = "quatorze"
                Chiffre(15) = "quinze"
                Chiffre(16) = "seize"
                Chiffre(17) = "dix-sept"
                Chiffre(18) = "dix-huit"
                Chiffre(19) = "dix-neuf"
            Static dizaine(1 To 8)
                dizaine(1) = "dix"
                dizaine(2) = "vingt"
                dizaine(3) = "trente"
                dizaine(4) = "quarante"
                dizaine(5) = "cinquante"
                dizaine(6) = "soixante"
                dizaine(8) = "quatre-vingt"
     
            'traitement du cas 0
            If Nb >= 1 Then
                resultat = ""
            Else
                resultat = "zéro"
                GoTo fintraitementfrancs
            End If
     
            'traitement des millions
            varnum = Int(Nb / 1000000)
            If varnum > 0 Then
                GoSub centaine_dizaine
                resultat = varlet + " million"
                If varlet <> "un" Then: resultat = resultat + " "
            End If
     
            'traitement des milliers
            varnum = Int(Nb) Mod 1000000
            varnum = Int(varnum / 1000)
            If varnum > 0 Then
                GoSub centaine_dizaine
                If varlet <> "un" Then: resultat = resultat + " " + varlet
                resultat = resultat + " mille"
            End If
     
            'traitement des centaines et dizaines
            varnum = Int(Nb) Mod 1000
            If varnum > 0 Then
                GoSub centaine_dizaine
                resultat = resultat + " " + varlet
            End If
            resultat = LTrim(resultat)
            varlet = Right$(resultat, 4)
     
            'traitement du "s" final pour vingt et cent et du "de" pour million
            Select Case varlet
                Case "cent", "ingt"
                    resultat = resultat + " "
                Case "lion", "ions"
                    resultat = resultat + " de"
            End Select
     
    fintraitementfrancs:
            resultat = resultat + " " + "FCFA"
            If Nb > 2 Then: resultat = resultat + " "
     
     'traitement des centimes
            varnum = Int((Nb - Int(Nb)) * 100 + 0.5)
            If varnum > 0 Then
                GoSub centaine_dizaine
                resultat = resultat + " et " + varlet + " centime"
                If varnum > 1 Then: resultat = resultat + " "
            End If
     
            'conversion 1ère lettre en majuscule
            resultat = UCase(Left(resultat, 1)) + Right(resultat, Len(resultat) - 1)
     
            'renvoi du resultat de la fonction et fin de la fonction
            ConvertNbLettres = resultat
            Exit Function
     
            'sous programme
    centaine_dizaine:
            varlet = ""
     
            'traitement des centaines
            If varnum >= 100 Then
                varlet = Chiffre(Int(varnum / 100))
                varnum = varnum Mod 100
                If varlet = "un" Then
                    varlet = "cent "
                Else
                     varlet = varlet + " cent "
                End If
            End If
     
            'traitement des dizaines
            If varnum <= 19 Then
                If varnum > 0 Then: varlet = varlet + Chiffre(varnum)
            Else
                varnumD = Int(varnum / 10)
                varnumU = varnum Mod 10
                Select Case varnumD
                    Case Is <= 5
                        varlet = varlet + dizaine(varnumD)
                    Case 6, 7
                        varlet = varlet + dizaine(6)
                     Case 8, 9
                         varlet = varlet + dizaine(8)
                End Select
                If varnumU = 1 And varnumD < 8 Then
                    varlet = varlet + " et "
                Else
                    If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then: varlet = varlet + " "
                End If
                If varnumD = 7 Or varnumD = 9 Then: varnumU = varnumU + 10
                If varnumU <> 0 Then: varlet = varlet + Chiffre(varnumU)
            End If
            varlet = RTrim(varlet)
            Return
     
        End Function

    Merci par avance
      0  0

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 024
    Points : 24 570
    Points
    24 570
    Par défaut
    Bonjour,

    C'est indiqué en clair dans le code 'Traitement des centimes

    Quelques cotes bien placées et le tour est joué.

    Cordialement,
      0  0

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut centimes
    Bonjour, merci de m'avoir répondu, hélas je ne sais pas lire ce type de language, pouvez vous me donner la solution s'il vous plaît ?

    Merci
      0  0

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 024
    Points : 24 570
    Points
    24 570
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'traitement des centimes
            varnum = Int((Nb - Int(Nb)) * 100 + 0.5)
            If varnum > 0 Then
                GoSub centaine_dizaine
                resultat = resultat + " et " + varlet + " centime"
                If varnum > 1 Then: resultat = resultat + " "
            End If
    Tout ce code à mettre en commentaire.
      0  0

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut suite
    qu'est ce que je dois modifier par quoi pour obtenir un chiffre arrondi (sans les centimes) ?

    Merci de m'aider
      0  0

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 024
    Points : 24 570
    Points
    24 570
    Par défaut
    Si les centimes n'existent pas il vaut mieux arrondir le chiffre avant de lancer la fonction.

    Regarde la fonction Round().

    Cordialement,
      0  0

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut suite
    Bonjour, je suis désolée je n'y comprend rien du tout, (je ne sais pas lire les language de ce type) pouvez vous me donner la solution, svp ...

    Merci par avance
      0  0

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 024
    Points : 24 570
    Points
    24 570
    Par défaut
    Ce forum n'a pas vocation de faire le travail à la place du demandeur. Il doit être pris dans un but didactique et vulgarisateur.

    Un minimum de recherche et d'effort s'impose.

    Si vous souhaitez une solution clef en main pourquoi ne pas faire appel à un professionnel.

    Cordialement,
      0  0

Discussions similaires

  1. Création de fenêtres sans icone dans la barre des taches
    Par bruce_will dans le forum Windows
    Réponses: 2
    Dernier message: 06/12/2004, 04h29
  2. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  3. [VB.NET] Appeler une sub public dans un module de form
    Par SergeF dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2004, 13h08
  4. Arrondir des coins sans image
    Par eric30eric dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/02/2004, 23h31
  5. [TP]Compiler un prog sans entrer dans TP7
    Par poppels dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 23/10/2002, 18h46

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