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 + F11pour ouvrir l’éditeur VBA dans Excel. - Dans l’éditeur, allez dans
Insertion>UserFormpour 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 à outilspour 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éspour afficher et modifier les propriétés. - Modifiez la propriété
Nameen quelque chose commeOptionButton1,OptionButton2, etc., et la propriétéCaptionen 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é
ValuedeOptionButton1surTrue.
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_Initializeinitialise 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
Clickrespectif 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éValuedes 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.