Création de boutons d’option (Option Buttons), Excel VBA
Voici un guide détaillé sur la création de boutons d’option (Option Buttons) dans un formulaire utilisateur (UserForm) en utilisant VBA dans Excel, avec le code et une explication complète de chaque étape.
Objectif :
Nous allons créer un formulaire utilisateur avec plusieurs boutons d’option. Lorsque l’utilisateur sélectionne un bouton d’option, cela déclenche une action spécifique ou modifie une valeur dans une autre partie du formulaire.
Guide étape par étape :
1. Ouvrir l’éditeur Visual Basic for Applications (VBA) :
- Appuyez sur
Alt + F11
pour ouvrir l’éditeur VBA dans Excel. - Dans l’éditeur, allez dans
Insertion
>UserForm
pour créer un nouveau formulaire utilisateur.
2. Ajouter des boutons d’option au UserForm :
- Une fois le UserForm ouvert, vous verrez une boîte à outils (Toolbox). Si elle n’est pas visible, allez dans
Affichage
>Boîte à outils
pour l’activer. - Dans la boîte à outils, localisez le contrôle « OptionButton » (c’est un petit cercle).
- Cliquez sur le contrôle OptionButton, puis cliquez sur le UserForm à l’endroit où vous souhaitez le placer.
- Répétez les étapes ci-dessus pour créer plusieurs boutons d’option (par exemple, pour différentes options comme
Option1
,Option2
,Option3
).
3. Ajuster les propriétés :
- Vous pouvez changer le nom, la légende et d’autres propriétés des boutons d’option. Cliquez avec le bouton droit sur un bouton d’option et sélectionnez
Propriétés
pour afficher et modifier les propriétés. - Modifiez la propriété
Name
en quelque chose commeOptionButton1
,OptionButton2
, etc., et la propriétéCaption
en quelque chose comme « Option 1 », « Option 2 », etc.
4. Écrire le code VBA : Maintenant, écrivons du code VBA qui gérera les événements lorsque l’utilisateur sélectionne un bouton d’option.
Private Sub UserForm_Initialize() ' Initialisation des boutons d'option OptionButton1.Caption = "Option 1" OptionButton2.Caption = "Option 2" OptionButton3.Caption = "Option 3" ' Définir le bouton d'option sélectionné par défaut OptionButton1.Value = True ' Par défaut, l'option 1 est sélectionnée End Sub Private Sub OptionButton1_Click() ' Code à exécuter lorsque l'option 1 est sélectionnée MsgBox "Vous avez sélectionné l'Option 1" End Sub Private Sub OptionButton2_Click() ' Code à exécuter lorsque l'option 2 est sélectionnée MsgBox "Vous avez sélectionné l'Option 2" End Sub Private Sub OptionButton3_Click() ' Code à exécuter lorsque l'option 3 est sélectionnée MsgBox "Vous avez sélectionné l'Option 3" End Sub
Explication du code :
1. UserForm_Initialize :
- Cet événement est déclenché lorsque le formulaire utilisateur est chargé.
- Le code définit les légendes des boutons d’option (
OptionButton1.Caption
,OptionButton2.Caption
, etc.). - Le bouton d’option par défaut est défini en réglant la propriété
Value
deOptionButton1
surTrue
.
2. OptionButton1_Click, OptionButton2_Click, OptionButton3_Click :
- Ces événements sont déclenchés lorsque l’utilisateur clique sur un bouton d’option.
- Chaque événement affiche une boîte de message (vous pouvez remplacer cela par toute autre action que vous souhaitez effectuer lorsque l’option est sélectionnée).
Comment fonctionne le code :
- Le sous-programme
UserForm_Initialize
initialise le formulaire utilisateur avec les paramètres par défaut et les légendes des boutons d’option. - Lorsque l’utilisateur sélectionne un bouton d’option, l’événement
Click
respectif est déclenché, affichant une boîte de message pour informer l’utilisateur de la sélection. Vous pouvez personnaliser cela pour effectuer toute autre action, comme mettre à jour une feuille de calcul, modifier l’interface du formulaire, etc.
Tester le formulaire :
1. Fermez l’éditeur VBA et revenez à Excel.
2. Appuyez sur Alt + F8
, sélectionnez votre UserForm dans la liste et cliquez sur Exécuter
.
3. Le formulaire utilisateur apparaîtra avec les boutons d’option.
4. Sélectionnez un bouton d’option pour voir le message correspondant.
Personnalisations supplémentaires :
- Grouper les boutons d’option : Par défaut, les boutons d’option dans le même groupe se comportent de manière exclusive (c’est-à-dire que lorsque l’un est sélectionné, les autres sont désélectionnés). Vous pouvez créer plusieurs groupes en plaçant les boutons d’option dans différents contrôles
Frame
. - Utiliser la propriété
Value
: La propriétéValue
des boutons d’option peut être utilisée de manière programmatique pour vérifier si un bouton d’option est sélectionné (True
) ou non (False
).
Exemple d’utilisation de la propriété Value
:
If OptionButton1.Value = True Then MsgBox "L'option 1 est sélectionnée." ElseIf OptionButton2.Value = True Then MsgBox "L'option 2 est sélectionnée." Else MsgBox "Aucune option sélectionnée." End If
Cela vérifie la valeur de chaque bouton d’option et exécute le code approprié en fonction de celui qui est sélectionné.
Conclusion :
En utilisant des boutons d’option dans un formulaire utilisateur, vous pouvez créer des interfaces interactives et dynamiques dans Excel. Le code ci-dessus permet de gérer plusieurs options et de déclencher des actions correspondantes en VBA, offrant une grande flexibilité pour vos applications Excel.