Auteur

MVP Office Access 2003, 2004, 2005 et 2006

Qui sont les MVP ?

 
 

Codes pour Access

+ Base de données
+ Administrateur
+ Table
+ Requête
+ Formulaire
+ Dates & Heures
 -  Nombre
+ Math
+ Fichier
+ Commandes externes
+ Automation
+ Equivalence
 
 

Tuto Access 2007

+ Base de données
 
 

Lettre d'information

Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner

captcha
Merci de recopier le code alphanumérique ci-dessus
117 Abonnés
 
 

Nombre - Convertir nombre en lettre (allemand)

Description 

Cette fonction permet de convertir un nombre en toutes lettres dans la langue allemande.

 
Synthaxe 

Expression = ConvertNbLettresAllemand(nb, devise)

La synthaxe de la fonction ConvertNbLettresAllemand comprend les éléments suivants :

ElémentsDescription

nb

Expression numérique correspondant au nombre que l'on souhaite écrire en toutes lettre.
deviseExpression de chaîne correspondant à la devise que l'on souhaite écrire après le nombre.
 
Exemple 

Aucun exemple disponible pour le moment.

 
Code de la fonction 


Public Function ConvertNbLettresAllemand(Nb, Devise As String) As String

Dim varnum, varnumD, varnumU, resultat, varlet

Static Chiffre(1 To 19)
    Chiffre(1) = "ein"
    Chiffre(2) = "zwei"
    Chiffre(3) = "drei"
    Chiffre(4) = "vier"
    Chiffre(5) = "fünf"
    Chiffre(6) = "sechs"
    Chiffre(7) = "sieben"
    Chiffre(8) = "acht"
    Chiffre(9) = "neun"
    Chiffre(10) = "zehn"
    Chiffre(11) = "elf"
    Chiffre(12) = "zwölf"
    Chiffre(13) = "dreizehn"
    Chiffre(14) = "vierzehn"
    Chiffre(15) = "fünfzehn"
    Chiffre(16) = "sechszehn"
    Chiffre(17) = "siebzehn"
    Chiffre(18) = "achtzehn"
    Chiffre(19) = "neunzehn"

Static dizaine(1 To 9)
    dizaine(1) = "zehn"
    dizaine(2) = "zwanzig"
    dizaine(3) = "dreissig"
    dizaine(4) = "vierzig"
    dizaine(5) = "fünfzig"
    dizaine(6) = "sechzig"
    dizaine(7) = "siebzig"
    dizaine(8) = "achtzig"
    dizaine(9) = "neunzig"

'traitement du cas 0
If Nb >= 1 Then
    resultat = ""
Else
    resultat = "null"
    GoTo FinTraitement
End If

'traitement des millions
varnum = Int(Nb / 1000000)
If varnum > 0 Then
    GoSub centaine_dizaine
    resultat = varlet + " million"
    If varlet <> "ein" Then: resultat = resultat + "en"
End If

'traitement des milliers
varnum = Int(Nb) Mod 1000000
varnum = Int(varnum / 1000)
If varnum > 0 Then
    GoSub centaine_dizaine
    If varlet <> "ein" Then: resultat = resultat + " " + varlet
    resultat = resultat + " tausend"
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)

FinTraitement:
resultat = resultat + " " + Devise
If Nb >= 2 Then: resultat = resultat + "S"

'traitement des centimes
varnum = Int((Nb - Int(Nb)) * 100 + 0.5)
If varnum > 0 Then
    GoSub centaine_dizaine
    resultat = resultat + " " + varlet + " CENT"
    If varnum > 1 Then: resultat = resultat + "S"
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
ConvertNbLettresAllemand = 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 = "ein" Then
        varlet = "hundert "
    Else
        varlet = varlet + " hundert "
    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
    If varnumU <> 0 Then
        varlet = varlet + Chiffre(varnumU) + " und " + dizaine(varnumD)
    Else
        varlet = varlet + dizaine(varnumD)
    End If
End If

varlet = RTrim(varlet)
Return

End Function

 


Date de création : 20/10/2006 @ 15:52
Dernière modification : 20/10/2006 @ 15:52
Catégorie : Nombre
Page lue 1534 fois


Prévisualiser la page Prévisualiser la page     Imprimer la page Imprimer la page

 
 

Réactions à cet article


Personne n'a encore laissé de commentaire.
Soyez donc le premier !


 
 

Recherche




Google

 
 

Préférences

Votre nom (ou pseudo) :

Votre mot de passe :

     


Membres 79 Membres

membres les 10 derniers :
CJ6774   monaker   Jerry   jujubegood   Rachid   fifimeyrou   MoxQwoidT   fof_alaz   bellemeche   Bruno   
Membre en ligne : Membre en ligne :
( personne )
Anonymes en ligne : Anonymes en ligne : 2

Total visites : Total visites : 174452  
hit Affluence record: 102
le 17/06/2007 @ 07:36

Ecrire à Jessy SEMPERE Ajouter aux favoris Recommander ce site à un ami Version mobile
 
 


Design Jessy © 2007 - Compatible IE6, IE7 et Mozilla 2.0.0.1

  Site créé avec GuppY v4.5.18 © 2004-2005 - Licence Libre CeCILL

Document généré en 0.17 seconde