Convertir la devise, Excel VBA

Convertir la devise, Excel VBA 

Voici un exemple détaillé de code VBA pour convertir des devises dans Excel. Ce code utilise des taux de change fixes (que vous pouvez modifier) pour effectuer la conversion de devise. Il sera également possible d’ajouter un module qui récupère les taux de change en temps réel via une API, mais pour l’instant, nous utiliserons un exemple simple avec des taux fixes. 

Objectif : 

Créer une fonction qui convertit une somme d’argent d’une devise à une autre (par exemple, de l’euro à l’USD). 

  1. Ajouter un Module VBA
  2. Ouvrez Excel et appuyez sur Alt + F11 pour ouvrir l’éditeur VBA. 
  3. Allez dans Insertion > Module pour créer un nouveau module. 
  4. Copiez et collez le code ci-dessous dans ce module. 

Code VBA pour convertir des devises : 

Option Explicit 
' Déclaration des variables globales pour les taux de change 
Dim tauxEuroUSD As Double 
Dim tauxEuroGBP As Double 
Dim tauxEuroJPY As Double 
Sub ConvertirDevise() 
    ' Initialiser les taux de change (valeurs fictives) 
    tauxEuroUSD = 1.1   ' Exemple: 1 EUR = 1.1 USD 
    tauxEuroGBP = 0.85  ' Exemple: 1 EUR = 0.85 GBP 
    tauxEuroJPY = 150   ' Exemple: 1 EUR = 150 JPY 
    ' Variables locales pour les devises et les montants 
    Dim montant As Double 
    Dim deviseSource As String 
    Dim deviseCible As String 
    Dim resultat As Double 
    ' Demander à l'utilisateur d'entrer la devise source, la devise cible et le montant 
    deviseSource = InputBox("Entrez la devise source (EUR, USD, GBP, JPY) :") 
    deviseCible = InputBox("Entrez la devise cible (EUR, USD, GBP, JPY) :") 
    montant = InputBox("Entrez le montant à convertir :") 
    ' Effectuer la conversion en fonction des devises choisies 
    If deviseSource = "EUR" Then 
        If deviseCible = "USD" Then 
            resultat = montant * tauxEuroUSD 
            MsgBox montant & " EUR = " & resultat & " USD" 
        ElseIf deviseCible = "GBP" Then 
            resultat = montant * tauxEuroGBP 
            MsgBox montant & " EUR = " & resultat & " GBP" 
        ElseIf deviseCible = "JPY" Then 
            resultat = montant * tauxEuroJPY 
            MsgBox montant & " EUR = " & resultat & " JPY" 
        Else 
            MsgBox "Devise cible non reconnue" 
        End If 
    ElseIf deviseSource = "USD" Then 
        If deviseCible = "EUR" Then 
            resultat = montant / tauxEuroUSD 
            MsgBox montant & " USD = " & resultat & " EUR" 
        ElseIf deviseCible = "GBP" Then 
            resultat = (montant / tauxEuroUSD) * tauxEuroGBP 
            MsgBox montant & " USD = " & resultat & " GBP" 
        ElseIf deviseCible = "JPY" Then 
            resultat = (montant / tauxEuroUSD) * tauxEuroJPY 
            MsgBox montant & " USD = " & resultat & " JPY" 
        Else 
            MsgBox "Devise cible non reconnue" 
        End If 
    Else 
        MsgBox "Devise source non reconnue" 
    End If 
End Sub

Explication du Code : 

Variables Globales : 

  • tauxEuroUSD, tauxEuroGBP, tauxEuroJPY : Ce sont les taux de change que vous définissez pour chaque devise par rapport à l’euro. Par exemple, 1 EUR = 1.1 USD, 1 EUR = 0.85 GBP, et 1 EUR = 150 JPY. 

Fonction ConvertirDevise : 

  • demande des informations utilisateur : Les trois InputBox demandent à l’utilisateur de saisir : 
  • La devise source (par exemple, EUR, USD). 
  • La devise cible (par exemple, EUR, USD). 
  • Le montant à convertir. 

Conditions de conversion

  • Le code vérifie quelle est la devise source (EUR, USD, etc.) et la devise cible sélectionnée. 
  • Ensuite, il applique le taux de change approprié pour faire la conversion, en multipliant le montant de la devise source par le taux de change. 
  • Une fenêtre MsgBox affiche le résultat de la conversion. 

Exécution du code : 

  1. Vous pouvez exécuter ce code en appuyant sur F5 dans l’éditeur VBA ou en associant cette macro à un bouton dans votre feuille Excel. 
  2. Le programme demandera à l’utilisateur les devises et le montant à convertir, puis affichera le résultat dans une fenêtre de message. 

Exemple d’Utilisation : 

Si vous entrez les valeurs suivantes : 

  • Devise source : EUR 
  • Devise cible : USD 
  • Montant : 100 

Le message affiché sera : 

100 EUR = 110 USD 

Cela est basé sur le taux de conversion 1 EUR = 1.1 USD. 

Amélioration avec des taux de change dynamiques : 

Vous pouvez aller plus loin en récupérant les taux de change en temps réel via une API comme Fixer.io ou OpenExchangeRates. Pour cela, vous devrez intégrer des appels HTTP via VBA pour obtenir les taux en temps réel et ajuster le code en conséquence. Si vous souhaitez une telle fonctionnalité, n’hésitez pas à demander plus de détails ! 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x