Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Access » Assistants » Convertisseur EuroConnexion
 


Dans cet article... 
  • Principe
  • Le code Visual Basic
  • Comment tester ?
  • Télécharger un convertisseur Euro
  •  Article mis à jour le 03/03/2009

    Principe

    Si vous êtes nostalgique des anciens nouveaux francs , ou si vous souhaitez mettre à disposition de vos utilisateurs un convertisseur Francs/Euros ou Euros/Francs, voici qui devrait vous intéresser !

    Le code Visual Basic

    • La 1ère, znFix() (pourquoi ce nom là ?) permet de gérer les arrondis d'une manière générale.
    • La 2ème gère les conversions de FF en Euros
    • La 3ème gère les conversion d'Euros en FF.

    J'ai supposé que si on ne précise pas l'arrondi, celui-ci est fait sur 2 décimales. D'autre part, une constante TXEURO (taux de l'euro) doit être déclarée, au début d'un module standard, sous la forme :

    Public Const TXEURO = 6.55957

    1. Public Const TXEURO = 6.55957
    2.  
    3. ' ---
    4. ' ARRONDI D'UN NOMBRE
    5. ' ---
    6. ' Entrée : dbNombre <- Le nombre à arrondir
    7. ' intDigits <- Le nombre de chiffres après la virgule
    8. '
    9. Function znFix(dbNombre As Double, intDigits) As Double
    10.   Dim lngPow As Long, dbTemp as double
    11.  
    12.   lngPow = 10 ^ intDigits
    13.   dbTemp = dbNombre * lngPow + 0.5
    14.   znFix = Int(dbTemp) / lngPow
    15. End Function
    16.  
    17. ' ---
    18. ' CONVERSION FRANCS -> EUROS
    19. ' ---
    20. ' Entrée : dbFrancs  <- Un nombre en Francs
    21. '          intDigits <- Le nombre de chiffres après la virgule
    22. '                       S'il est omis, ce chiffre vaut 2.
    23. '
    24. Function FrancsEuros(dbFrancs As Double, Optional intDigits) As Double
    25.   If IsMissing(intDigits) Then intDigits = 2
    26.   FrancsEuros = znFix(dbFrancs / TXEURO, intDigits)
    27. End Function
    28.  
    29. ' ---
    30. ' CONVERSION EUROS -> FRANCS
    31. ' ---
    32. ' Entrée : dbEuros <- Un nombre en Euros
    33. ' intDigits <- Le nombre de chiffres après la virgule
    34. ' S'il est omis, ce chiffre vaut 2.
    35. '
    36. Function EurosFrancs(dbEuros As Double, Optional intDigits) As Double
    37.   If IsMissing(intDigits) Then intDigits = 2
    38.   EurosFrancs = znFix(dbEuros * TXEURO, intDigits)
    39. End Function

    Comment tester ?

    Faites apparaître la fenêtre de débogage (CTRL + G dans Visual Basic Editor), et tapez :

    ? FrancsEuros(350) puis [ENTREE]
    ? EurosFrancs(120) puis [ENTREE]

    Télécharger un convertisseur Euro

    Si vous êtes fainéant, cliquez ici (c'est petit, hein ? ) pour télécharger une base Access 97 qui regroupe les 3 fonctions ci-dessus dans un module nommé "mod Euro".

    La base fournit par ailleurs un magnifique (si, si) convertisseur Francs/Euros, qui donne un exemple d'utilisation du module "mod Euro".

    Vous y trouverez également une table "tbl Clients" et une requête "rqt Francs vers Euros" qui montrent l'utilisation des fonctions de conversion dans une requête (voir Calculs dans une requête).

    Info
    Vous aurez besoin d'un logiciel comme Winzip ou PowerArchiver pour décompacter la base. Pas la peine sur Windows XP : un compresseur/décompresseur compatible Zip est livré en standard.


    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]