Les UserForms dans VBA sont utilisés pour prendre les entrées de l’utilisateur et parfois pour afficher les sorties et les messages. Découvrez les bases de userform link: / applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [here].

Les formulaires utilisateur peuvent avoir plusieurs composants différents pour les entrées.

Ces composants sont appelés contrôles de UserForm.

Il existe plusieurs types de contrôles de formulaire utilisateur, chacun ayant des propriétés différentes et utilisé pour différentes raisons. Il est utile de savoir comment et quand utiliser chaque type de contrôle userform. Dans cet article, nous allons apprendre à utiliser UserForm Control dans Excel VBA.

Types de contrôles UserForms

Il y a trop de contrôles de formulaire utilisateur dans VBA. Si nous les couvrons Dans cet article, nous nous concentrerons uniquement sur les principaux contrôles de formulaire.

1: étiquettes

2: TextBox

3: ComboBox

4: ListBox

5: CheckBox

6: OptionButton

7: ToggleButton

8: CommandButton

9: Cadres

Jetons un coup d’œil à tous ces contrôles.

Étiquettes:

Les étiquettes sont utilisées pour afficher simplement les étiquettes de texte. Comme une étiquette pour une zone de saisie, un avertissement, une direction, etc.

image

Pour ajouter une étiquette au formulaire utilisateur, sélectionnez simplement l’option Étiquette (icône A) dans la boîte à outils. Le curseur se transforme en signe plus. Faites glisser vers la zone où vous souhaitez placer les étiquettes.

TextBox:

Une zone de texte est une option d’entrée de base ouverte de l’utilisateur. L’utilisateur peut simplement taper les entrées qu’il souhaite donner. Le scénario de base est les entrées de nom.

image

Si vous souhaitez afficher un message lorsque la souris survole la zone de texte, écrivez-le dans ControlTipText dans la fenêtre des propriétés.

image

ComboBox:

Les combox sont utilisées pour afficher une liste d’éléments lorsque vous cliquez dessus. L’utilisateur peut sélectionner facilement l’un des éléments affichés dans cette liste ou saisir l’entrée par lui-même.

Nous utilisons ComboBox dans Excel VBA lorsque nous avons une liste facultative pour l’utilisateur à sélectionner. Les utilisateurs peuvent sélectionner dans la liste ou saisir leur réponse manuellement.

image

Sélectionnez la zone de liste déroulante dans la boîte à outils et faites-la glisser sur le formulaire. Il insérera une zone de liste déroulante immédiatement sur le formulaire. Le nom par défaut de la zone de liste déroulante sera Combobox1, 2, 3, etc. Vous pouvez le modifier à partir de la zone de propriété.

image

Comment insérer des éléments dans ComboBox?

Alors maintenant, vous avez ajouté la liste déroulante à notre formulaire. Mais lorsque nous chargeons le formulaire utilisateur, il ne montre rien dans la zone de liste déroulante. C’est parce que nous n’avons encore ajouté aucun élément à la liste déroulante.

Dans cet exemple, je souhaite ajouter des éléments à la liste déroulante lorsque le formulaire utilisateur s’initialise (se charge). Donc, nous utiliserons le formulaire utilisateur même « Initialize ».

Cliquez avec le bouton droit sur le formulaire utilisateur (pas sur un composant) pour sélectionner le formulaire utilisateur entier. Sélectionnez afficher le code.

image

Depuis link: / events-in-vba-the-events-in-excel-vba [events]

, sélectionnez initialiser.

image

Utilisez maintenant la propriété AddItem of ComboBox Class et ajoutez autant d’éléments que vous le souhaitez.

Private Sub UserForm_Initialize()

ComboBox1.AddItem "2016"

ComboBox1.AddItem "2017"

ComboBox1.AddItem "2018"

ComboBox1.AddItem "2019"

ComboBox1.AddItem "2020"

End Sub

Puisque nous ajoutons les éléments dans l’événement UserForm_Initialize (), tous les éléments seront ajoutés à la liste déroulante lors du chargement du formulaire utilisateur.

image

Récupération de l’élément sélectionné dans le ComboBox

Pour utiliser l’élément sélectionné dans la zone de liste déroulante, nous utilisons simplement la propriété Value de la zone de liste déroulante.

Private Sub CommandButton1_Click()

MsgBox ComboBox1.Value

End Sub

Ici, nous montrons la valeur que nous avons choisie lorsque l’utilisateur clique sur le bouton de commande (nous arriverons à l’événement de clic du bouton de commande ci-dessous).

image

Listbox

Un ListBox est utilisé lorsque nous voulons que l’utilisateur sélectionne dans une liste définie.

Cela ressemble à ComboBox? Oui, une listbox est très similaire à la ComboBox sauf que l’utilisateur ne peut pas taper sa réponse dans la listbox.

Ils doivent sélectionner uniquement parmi les options disponibles.

Pour insérer une zone de liste dans le formulaire, sélectionnez-la dans la boîte à outils et faites glisser sur la zone du formulaire.

Le nom par défaut de la listbox sera génétiquement listbox1, 2, 3, etc.

Vous pouvez le modifier à partir de la zone de propriété.

image

Tout comme la ComboBox, la zone de liste VBA est initialement vide. Pour l’initialiser, nous utilisons simplement la propriété add de la classe listbox.

Comment ajouter des éléments à la listbox?

Comme nous avons ajouté les éléments à la liste de combobox dans les événements d’initialisation du formulaire, nous ajouterons les éléments de listbox dans le même événement. Modifiez simplement l’événement initialize ci-dessus pour ajouter des éléments lors du chargement du formulaire utilisateur.

Private Sub UserForm_Initialize()

ComboBox1.AddItem "2016"

ComboBox1.AddItem "2017"

ComboBox1.AddItem "2018"

ComboBox1.AddItem "2019"

ComboBox1.AddItem "2020"

'Adding Item to List

ListBox1.AddItem "Jan"

ListBox1.AddItem "Feb"

ListBox1.AddItem "Mar"

ListBox1.AddItem "Apr"

ListBox1.AddItem "May"

ListBox1.AddItem "Jun"

ListBox1.AddItem "Jul"

ListBox1.AddItem "Aug"

ListBox1.AddItem "Sep"

ListBox1.AddItem "Oct"

ListBox1.AddItem "Nov"

ListBox1.AddItem "Dec"

End Sub

Le code ci-dessus ajoutera les noms des mois à la zone de liste dès que nous chargerons le formulaire.

image

Récupération de l’élément sélectionné dans ListBox

Pour récupérer l’élément sélectionné par l’utilisateur dans ListBox, nous utilisons la propriété Value de l’objet listbox.

Ici, nous ajoutons le mois sélectionné par l’utilisateur à l’entrée donnée dans la liste déroulante.

Private Sub CommandButton1_Click()

MsgBox ComboBox1.Value & "-" & ListBox1.Value

End Sub

image

Lorsque nous appuyons sur le bouton de commande, nous obtenons les éléments sélectionnés qui nous sont présentés dans la msgbox.

image

Contrôle CheckBox VBA

Les CheckBoxes sont les contrôles binaires qui peuvent être définis sur True ou False.

Vous pouvez avoir plusieurs cases à cocher et sélectionner plusieurs cases à la fois. Ceci est essentiellement utilisé lorsqu’un utilisateur doit pouvoir sélectionner plus d’une option. Comme les questions à choix multiples.

Pour ajouter des cases à cocher au formulaire utilisateur, sélectionnez-le simplement dans la boîte à outils et faites-le glisser sur la zone du formulaire utilisateur VBA.

image

Lorsque vous ajoutez les cases à cocher au formulaire utilisateur, le nom par défaut des cases à cocher est comme case à cocher1, case à cocher2, etc. Vous pouvez modifier le nom des cases à cocher à partir de la case de propriété.

Comment utiliser les cases à cocher sur le formulaire utilisateur?

Dès que vous ajoutez les cases à cocher, elles deviennent cliquables. Les utilisateurs peuvent les cocher ou les décocher. Mais comment savoir quelle case est cochée et laquelle ne l’est pas?

Comme je l’ai dit, les cases à cocher sont booléennes. Ainsi, si une case est cochée, sa valeur est True, sinon sa valeur est False.

Le code ci-dessous vérifie les cases à cocher sélectionnées et les affiche dans la zone Message.

Private Sub CommandButton1_Click()

Dim msg As String

If CheckBox1.Value = True Then

msg = msg & "CheckBox1 is selected"

End If

If CheckBox2.Value = True Then

msg = msg & vbCrLf & "CheckBox2 is selected"

End If

MsgBox msg

End Sub

image

Si vous souhaitez que l’utilisateur puisse sélectionner une seule option sur le formulaire utilisateur, utilisez les boutons radio.

Contrôle VBA OptionButton

Les boutons radio / option sont utilisés dans le formulaire utilisateur VBA lorsque nous voulons que l’utilisateur ne sélectionne qu’une seule option parmi les options disponibles. Comme lorsque les formulaires demandent le sexe, la langue préférée, la tranche d’âge, etc.

Le bouton radio peut être facilement ajouté au formulaire utilisateur en le sélectionnant dans les outils et en le faisant glisser sur la zone du formulaire. Faites glisser et déposez les boutons radio plusieurs fois pour plusieurs boutons radio.

image

Comment obtenir la sélection du bouton radio / option?

Les boutons radio sont binaires. Leur valeur peut être True ou False.

Le bouton radio sélectionné sera défini sur True et tous les autres deviendront faux. Un seul bouton radio à la fois sera vrai dans un groupe.

Le code ci-dessous vérifie simplement quel bouton radio est sélectionné et affiche le message en conséquence.

Private Sub CommandButton1_Click()

Dim gender As String

If OptionButton1.Value = True Then

gender = "Male"

ElseIf OptionButton2.Value = True Then

gender = "female"

Else

gender = "other"

End If

MsgBox gender

End Sub

image

Notez qu’un seul bouton d’option peut être sélectionné sur le formulaire utilisateur dans l’exemple ci-dessus. Mais que faire si vous souhaitez avoir plusieurs groupes de boutons d’option. Dans ce cas, nous utilisons des cadres. Et cela nous amène à…

Cadres dans VBA UserForm

Les cadres sont utilisés pour regrouper des objets de formulaire utilisateur, tels que des cases à cocher et des boutons d’option.

Pour utiliser des cadres, faites d’abord glisser et déposez ce cadre sur la zone de formulaire, puis déposez les autres objets dans ce cadre.

image

Vous pouvez modifier le nom du cadre à partir de la légende dans la zone de propriété.

image

Tous les événements sont également disponibles pour les cadres comme d’autres objets de formulaire utilisateur. Mais de préférence, nous les utilisons simplement pour regrouper des objets. Vous pouvez définir des événements onclick sur fram pour charger des informations de base sur les objets qu’il contient, lorsque l’utilisateur clique dessus.

Boutons à bascule dans VBA UserForm

Les boutons bascule sont également des objets binaires qui peuvent être activés et désactivés. Vous pouvez utiliser les boutons bascule pour activer et désactiver quelque chose.

Pour ajouter un bouton bascule au formulaire utilisateur, sélectionnez-le simplement dans les outils et faites-le glisser sur la zone du formulaire.

image

Le code ci-dessous est défini sur l’événement onclick du bouton bascule. Il change la couleur de la cellule A1 en bleu lorsque le bouton bascule est enfoncé et le réinitialise lorsque le bouton bascule est enfoncé.

Private Sub ToggleButton1_Click()

If ToggleButton1.Value Then

Range("A1").Interior.ColorIndex = 32

Else

Range("A1").Interior.ColorIndex = xlColorIndexNone

End If

End Sub

Boutons de commande dans VBA UserForm

Ce sont les boutons que nous utilisons pour exécuter le code VBA principal comme les validations, les calculs, les soumissions de formulaires, etc.

Dans les exemples ci-dessus, j’ai utilisé le bouton de commande pour soumettre le formulaire. Vous pouvez avoir autant de boutons de commande sur le formulaire utilisateur que vous le souhaitez.

image

Pour exécuter des codes lorsque le bouton est cliqué, double-cliquez simplement sur le bouton. Cela ouvrira l’événement CommandButton_Click. Écrivez le code ici pour l’exécuter en cliquant sur le bouton de commande.

image

Le code ci-dessous s’exécute lorsque vous cliquez sur le bouton de commande terminé et ferme également le formulaire utilisateur.

Private Sub CommandButton1_Click()

Dim gender As String

If OptionButton1.Value = True Then

gender = "Male"

ElseIf OptionButton2.Value = True Then

gender = "female"

Else

gender = "other"

End If

MsgBox gender

Unload UserForm1 'closes userform

End Sub

Alors oui les gars, ce sont les contrôles de base du formulaire utilisateur dans VBA. J’espère que cela a été utile. Si vous avez des doutes concernant les contrôles du formulaire utilisateur et les événements du formulaire utilisateur, notez-le dans la section commentaires ci-dessous.

Articles liés

lien: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [Premiers pas avec Excel VBA UserForms] | Les UserForms Excel sont utiles pour obtenir des informations de l’utilisateur. Voici comment vous devez commencer avec VBA userforms lien: / user-forms-input-boxes-in-vba-change-the-valueecontent-of-multiple-userform-controls-using-vba-in-microsoft-excel [Change la valeur / le contenu de plusieurs contrôles UserForm utilisant VBA dans Excel] `| Pour modifier le contenu des contrôles de formulaire utilisateur, utilisez ce simple extrait de code VBA.

`lien: / user-forms-input-boxes-in-vba-empêche-un-userform-de-fermer-lorsque-l’utilisateur-clique-sur-le-bouton-x-en utilisant-vba-in-microsoft-excel [ Empêcher un formulaire utilisateur de se fermer lorsque l’utilisateur clique sur le bouton x à l’aide de VBA dans Excel] `| Pour empêcher le formulaire utilisateur de se fermer lorsque l’utilisateur clique sur le bouton x du formulaire, nous utilisons l’événement UserForm_QueryClose.

Articles populaires:

lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité] | Accélérez votre tâche. Ces 50 raccourcis vous permettront de travailler encore plus rapidement sur Excel.

lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel] | C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher la valeur de différentes plages et feuilles. lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016] | Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter une valeur spécifique.

La fonction Countif est indispensable pour préparer votre tableau de bord.

lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel] | C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.