Comment utiliser les contrôles VBA dans les formulaires utilisateur

Cet article montrera comment utiliser les contrôles dans les formulaires utilisateur dans Excel VBA.

VBA a la possibilité de créer des formulaires avec lesquels l'utilisateur peut interagir, tels que des formulaires de facture ou des coordonnées. Un formulaire peut contenir une variété de contrôles de formulaire tels que des zones de texte, des zones de liste déroulante, des zones de liste et des boutons de commande. Cet article couvrira les contrôles les plus populaires utilisés sur les formulaires utilisateur, à savoir les zones de texte, les étiquettes, les zones de liste déroulante, les zones de liste, les cases à cocher et les groupes d'options.

Pour en savoir plus sur les formulaires utilisateur intégrés et la création de formulaires utilisateur personnalisés dans Excel, cliquez ici.

Création d'un formulaire utilisateur

Pour créer un UserForm dans Excel VBA, nous devons d'abord ouvrir le Éditeur VBE.

Pour insérer un nouveau formulaire utilisateur dans votre code, sélectionnez le Formulaire utilisateur option du menu Insertion.

Un nouveau formulaire d'utilisateur apparaîtra dans le Explorateur de projets et sera affiché dans la fenêtre de code sur la droite.

Vous pouvez renommer votre formulaire en utilisant le Propriétés boîte. Cela devrait apparaître sous votre Explorateur de projets.

Si c'est à quel point, appuyez sur F4 ou cliquez Vue, Fenêtre Propriétés.

Cliquez dans le Nom propriété et renommez votre formulaire.

Nous pouvons maintenant commencer à remplir notre formulaire avec des contrôles - le contrôle de zone de texte est le contrôle le plus populaire avec le contrôle d'étiquette et le bouton de commande.

Pour remplir le formulaire avec des contrôles, nous devons activer la boîte à outils.

Dans le Menu, sélectionnez Affichage > Boîte à outils.

Création d'une zone de texte

Pour créer une zone de texte sur votre formulaire, sélectionnez le contrôle Zone de texte dans la boîte à outils.

Faites glisser une forme de boîte sur le formulaire avec votre souris, en maintenant le bouton gauche enfoncé, puis relâchez le bouton de la souris.

Comme il s'agit de la première zone de texte que nous créons, elle s'appellera TextBox1. Comme pour le formulaire, vous pouvez utiliser la fenêtre Propriétés pour renommer la zone de texte.

Nous pouvons continuer à créer autant de zones de texte dans notre formulaire que nous le souhaitons et les nommer comme il convient à l'aide de la propriété Name dans la fenêtre Propriétés.

Création d'un contrôle d'étiquette

Un contrôle d'étiquette nous dit ce que la zone de texte va être utilisée pour contenir. Vous faites glisser sur le formulaire de la même manière que vous le faites pour une zone de texte, puis vous pouvez taper le texte requis dans le contrôle d'étiquette, par exemple : Prénom comme indiqué ci-dessous.

Comme pour les zones de texte, continuez à en créer autant que nécessaire dans le formulaire.

Création d'un champ Combo

Une zone de liste déroulante (ou une zone de liste déroulante) permet à l'utilisateur de choisir parmi une liste de valeurs. Pour créer une zone de liste déroulante, cliquez dans la boîte à outils sur le contrôle Zone de liste déroulante, puis cliquez et faites glisser la zone de liste déroulante dans votre formulaire.

Nommez la zone de liste déroulante de manière appropriée.

Ajouter des valeurs à la Combo Box

Afin de le remplir avec des valeurs, nous devons coder dans le Initialiser méthode de l'objet Formulaire utilisateur.

Pour accéder au code derrière le formulaire (CBF), double-cliquez sur le formulaire ou cliquez sur le bouton de code dans l'explorateur de projet pour passer en mode code.

Dans la liste déroulante de gauche, sélectionnez Formulaire utilisateur, puis dans la liste déroulante de droite, sélectionnez Initialiser.

Tapez le code suivant dans Sub et End Sub pour remplir la liste déroulante :

1234 Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas"

Nous pouvons bien sûr continuer à remplir la liste avec le reste des États des États-Unis !

Pour exécuter le formulaire utilisateur pour voir la liste en action, 1) revenez à la vue formulaire puis, 2) dans la barre d'outils, cliquez sur le Courir bouton.

Cliquez sur la flèche déroulante pour voir la liste.

Nous pouvons également utiliser une plage dans Excel pour remplir la zone de liste déroulante.

123456 Private Sub UserForm_Initialize()Dim rng As RangePour chaque sonnerie dans la plage ("A1:A50")Me.cboState.AddItem rng.Valuesonnerie suivanteFin du sous-marin

Cela récupérera toutes les valeurs stockées dans la plage A1 à A50 et remplira la liste déroulante en conséquence.

Création d'un contrôle de zone de liste

Un champ Liste fonctionne de la même manière qu'un champ Combo, mais permet de voir toutes les options du formulaire sous forme de liste.

Sélectionnez le contrôle Zone de liste dans la boîte à outils, puis faites-le glisser pour créer une zone de liste sur votre formulaire.

Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !

Ajouter des valeurs à la zone de liste

Dans l'événement Initialize du formulaire, tapez le code suivant :

123456 Private Sub UserForm_Initialize()Dim rng As RangePour chaque sonnerie dans la plage ("A1:A50")Me.lstState.AddItem rng.Valuesonnerie suivanteFin du sous-marin

Lorsque nous exécutons le formulaire, la zone de liste s'affichera comme illustré dans l'image ci-dessous :

Création d'un contrôle Case à cocher

Les cases à cocher permettent à l'utilisateur de cocher ou de décocher une option.

Sélectionnez le contrôle Case à cocher, puis cliquez dans le formulaire où vous souhaitez qu'il aille.

Modifiez la légende et le nom de la case à cocher dans la fenêtre Propriétés.

Création d'un contrôle de groupe d'options avec des boutons d'option

Un groupe d'options permet à l'utilisateur de choisir parmi un certain nombre d'options disponibles. La première étape de la création d'un groupe d'options consiste à ajouter un contrôle de cadre au formulaire, puis à ajouter les boutons d'option dans le cadre qui a été ajouté. En faisant cela, nous nous assurons que lorsque nous exécutons le formulaire, un seul des boutons d'option dans le cadre peut être sélectionné à la fois.

Sélectionnez le contrôle Cadre dans la boîte à outils, puis faites glisser pour créer un cadre sur votre formulaire.

Sélectionnez le contrôle Bouton d'option dans la boîte à outils, puis cliquez DANS le cadre créé ci-dessus pour ajouter un bouton d'option dans le cadre. Répétez au besoin.

Cliquez sur le cadre et 1) modifiez le nom du cadre et la Légende. Ensuite 2) cliquez sur chacun des boutons d'option et modifiez la Légende.

Création d'un bouton de commande pour quitter le formulaire

A ce stade, le seul moyen de fermer le formulaire est d'utiliser le bouton de fermeture situé dans le coin droit de la barre de contrôle du formulaire. Un moyen plus efficace de quitter un formulaire, et sur lequel nous avons plus de contrôle, consiste à créer un bouton Quitter sur le formulaire. Cela se fait au moyen du contrôle du bouton de commande dans la boîte à outils.

Sélectionnez le contrôle Bouton de commande, puis cliquez et faites glisser dans votre formulaire pour créer le bouton.

À l'aide de la propriété Caption, modifiez la légende du bouton de commande sur OK et l'accélérateur sur « O »

Le but de l'accélérateur est que l'utilisateur utilise le clavier pour activer le bouton, dans ce cas Alt+O activerait le bouton.

Bon produit. AutoMacro ne se contente pas d'écrire votre code, il enseigne au fur et à mesure !" - Tony, Royaume-Uni

Apprendre encore plus

Lisez nos 900+ avis

Ajout de code au bouton de commande

Pour que le bouton de commande fonctionne, nous devons ajouter du code derrière celui-ci afin que lorsque le bouton est cliqué, le code s'exécute. C'est ce qu'on appelle l'événement Click du bouton.

Pour accéder à l'événement de clic, double-cliquez sur le bouton dans la vue de conception du formulaire.

1) L'événement Click sera automatiquement créé car c'est l'événement le plus couramment utilisé pour les boutons de commande.

2) Si nous devions cliquer dans la liste déroulante Procédure sur le côté droit, nous verrions une liste de toutes les méthodes d'événement disponibles pour le bouton de commande. Cette liste change en fonction du type de contrôle que nous avons créé car différents événements sont disponibles pour différents types de contrôles.

Tapez le code suivant dans l'événement click du bouton de commande.

123456789101112131415 Sous-marin privé cmdOK_Click()Range("E1") = Me.txtPrénomRange("E2") = Me.txtNomRange ("E3") = Me.txtCellPhoneRange ("E4") = Me.cboStateSi Me.ckContactInfo = True AlorsPlage("E5") = "SMS autorisés"AutreRange("E5") = "SMS non autorisé"Fin siSi Me.opt1.Value = True Then Range("E6") = Me.opt1.CaptionSi Me.opt2.Value = True Then Range("E6") = Me.opt2.CaptionSi Me.opt3.Value = True Then Range("E6") = Me.opt3.CaptionDécharge moiFin du sous-marin

Nous pouvons ensuite exécuter le formulaire, remplir les zones de texte et sélectionner dans la liste déroulante. Nous cliquons ensuite sur OK pour saisir les informations dans Excel.

wave wave wave wave wave