Dans cette fiche...

<Retour Assistant>

Début de page Principe

La conversion Francs/Euros est la tarte à la crème du moment.
Allons-y, comme ça on n'en parle plus après :o)

Pour utiliser ce qui suit, vous avez besoin de savoir taper du code Visual Basic dans un module Access, compiler du code, et exécuter du code.

Début de page Le code Visual Basic

Voici 3 procédures Visual Basic mettant en place les conversions Francs/Euros.

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 sous la forme :
public const TXEURO = 6.55957

' --------------------------------------------------
' ARRONDI D'UN NOMBRE
' --------------------------------------------------
' Entrée : dbNombre <- Le nombre à arrondir
' intDigits <- Le nombre de chiffres après la virgule
'
Function znFix(dbNombre As Double, intDigits) As Double
Dim lngPow As Long, dbTemp as double

lngPow = 10 ^ intDigits
dbTemp = dbNombre * lngPow + 0.5
znFix = Int(dbTemp) / lngPow
End Function
' --------------------------------------------------
' CONVERSION FRANCS -> EUROS
' --------------------------------------------------
' Entrée : dbFrancs  <- Un nombre en Francs
'          intDigits <- Le nombre de chiffres après la virgule
'                       S'il est omis, ce chiffre vaut 2.
'
Function FrancsEuros(dbFrancs As Double, Optional intDigits) As Double
If IsMissing(intDigits) Then intDigits = 2
FrancsEuros = znFix(dbFrancs / TXEURO, intDigits)
End Function
' --------------------------------------------------
' CONVERSION EUROS -> FRANCS
' --------------------------------------------------
' Entrée : dbEuros <- Un nombre en Euros
' intDigits <- Le nombre de chiffres après la virgule
' S'il est omis, ce chiffre vaut 2.
'
Function EurosFrancs(dbEuros As Double, Optional intDigits) As Double
If IsMissing(intDigits) Then intDigits = 2
EurosFrancs = znFix(dbEuros * TXEURO, intDigits)
End Function

Début de page Comment tester ?

Faites apparaître la fenêtre de débogage, et tapez :

? FrancsEuros(350) puis [ENTREE]

? EurosFrancs(120) puis [ENTREE]

 

Début de page Télécharger un convertisseur Euro !

SelfAccess_EuroConverter.zip (30 ko compactés, 150 ko décompactés)Si vous êtes fainéant, cliquez sur l'icône ci-contre 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).

Vous aurez besoin du logiciel Winzip pour décompacter la base.