/ / Convertisseur de devises dans Excel VBA

Convertisseur de devises dans Excel VBA

Ci-dessous, nous examinerons un programme en Excel VBA qui crée un Userform qui convertis n'importe quel montant d'un devise dans un autre.

Le formulaire utilisateur que nous allons créer se présente comme suit:

Convertisseur de devises dans Excel VBA

Pour créer ce Userform, exécutez les étapes suivantes.

1. Ouvrez Visual Basic Editor. Si l'explorateur de projet n'est pas visible, cliquez sur Affichage, Explorateur de projets.

2. Cliquez sur Insérer, Userform. Si la boîte à outils n'apparaît pas automatiquement, cliquez sur Affichage, Boîte à outils. Votre écran devrait être configuré comme ci-dessous.

Configuration de l'écran du formulaire utilisateur dans Excel VBA

3 Ajoutez les étiquettes, les zones de liste (la première à gauche, la seconde à droite), les zones de texte (la première à gauche, la seconde à droite) et le bouton de commande. Une fois que cela est terminé, le résultat doit être cohérent avec l'image du Userform présentée précédemment. Par exemple, créez un contrôle de zone de liste en cliquant sur ListBox dans la boîte à outils. Ensuite, vous pouvez faire glisser une zone de liste sur le Userform.

4 Vous pouvez modifier les noms et les légendes des contrôles. Les noms sont utilisés dans le code Excel VBA. Les légendes sont celles qui apparaissent sur votre écran. Il est judicieux de changer le nom des contrôles, mais cela n’est pas nécessaire ici car nous n’avons que quelques contrôles dans cet exemple. Pour modifier la légende de Userform, du bouton de commande et des étiquettes, cliquez sur Afficher, fenêtre de propriétés et cliquez sur chaque contrôle.

5. Pour afficher le formulaire utilisateur, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Nous allons maintenant créer le Sub UserForm_Initialize. Lorsque vous utilisez la méthode Show pour Userform, ce sous-programme sera automatiquement exécuté.

6. Ouvrez Visual Basic Editor.

7. Dans l'Explorateur de projet, cliquez avec le bouton droit sur UserForm1, puis cliquez sur Afficher le code.

8. Choisissez Userform dans la liste déroulante de gauche. Choisissez Initialiser dans la liste déroulante de droite.

9. Ajoutez les lignes de code suivantes:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

With ListBox2
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

End Sub

Explication: d'abord, les deux listes sont remplies. Ensuite, la devise du dollar américain est définie par défaut dans la première zone de liste et la devise EURO par défaut dans la deuxième zone de liste. Enfin, la valeur 1 est entrée dans la première zone de texte et la valeur 0.722152 dans la deuxième zone de texte.

Nous avons maintenant créé la première partie du Userform. Bien que cela ait déjà l'air sympa, rien ne se passera quand on cliquera sur le bouton Go.

10. Dans l'Explorateur de projet, double-cliquez sur UserForm1.

11. Double-cliquez sur le bouton Go.

12. Ajoutez les lignes de code suivantes:

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452

rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161

rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1

For i = 0 To 2
    For j = 0 To 2
        If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
    Next j
Next i

End Sub

Explication: d'abord, nous déclarons un tableau. Le tableau a deux dimensions. Il se compose de 3 lignes et 3 colonnes. Ensuite, nous initialisons chaque élément du tableau. Par exemple, les taux (1,0) correspondent au taux de change entre le dollar américain et l’euro. Ensuite, nous commençons une double boucle. En fonction des devises sélectionnées dans les zones de liste, Excel VBA convertit le montant entré dans la première zone de texte et affiche le résultat dans la seconde zone de texte.

Exemple: si i = 2 et j = 1 et que nous entrons la valeur 2 dans la première zone de texte, Excel VBA place la valeur 2 * rates (2,1) = 2 * 1,583255 = 3.16651 dans la deuxième zone de texte.

13. Testez le Userform.

Résultat:

Résultat du convertisseur de devises

Lisez aussi: