Mise en route avec Excel VBA UserForms
Dans cet article, nous apprendrons les bases des formulaires utilisateur VBA. Je vais expliquer comment créer un formulaire dans Excel, comment utiliser la boîte à outils VBA, comment gérer les entrées utilisateur et enfin comment stocker les entrées utilisateur. Nous allons parcourir ces sujets en utilisant un exemple et un guide étape par étape. Si vous lisez ceci, je suppose que vous connaissez les bases d’Excel VBA.
Sans plus attendre, commençons.
Créer un formulaire d’investissement dans Excel et enregistrer l’enregistrement
Nous commencerons par concevoir le formulaire utilisateur. Dans ce formulaire utilisateur, nous aurons une zone de texte pour le nom, une pour l’âge, une pour le montant de l’investissement et une paire de boutons radio pour le sexe. Commençons.
Concevoir le formulaire utilisateur
Ouvrez l’éditeur Visual Basic dans Excel à l’aide du raccourci ALT + F11. Dans Project Box, faites un clic droit sur VBAProject (votre fichier). Dans l’option d’insertion, choisissez UserForm. Immédiatement, un nouveau dossier sera créé et votre formulaire utilisateur trouvera son fichier. Tous les formulaires utilisateur de ce projet seront ajoutés dans ce dossier.
Remplacez le nom du formulaire par InvestmentForm dans la zone de propriété *.
Ajouter des éléments au formulaire: Dans l’image ci-dessus, j’ai déjà ajouté des éléments (étiquettes, zone de texte, bouton de commande). Cependant, un nouveau formulaire utilisateur est complètement vide. Vous devez utiliser la boîte à outils pour ajouter des éléments à votre formulaire. Si vous ne voyez pas la boîte à outils, récupérez-la à partir de l’onglet Affichage *.
Éléments de nom *: La zone de texte, les étiquettes, les boutons, etc. sont tous des éléments.
Et pour les utiliser dans le code VBA, nous devons leur donner des noms. Nous utilisons la fenêtre des propriétés pour changer leur nom. Sélectionnez l’élément. Ici, je sélectionne la zone de texte pour le nom. Allez dans la fenêtre des propriétés et changez le nom en «NameBox *». Faites de même pour chaque élément que vous allez utiliser. (vous n’avez pas besoin de nommer les étiquettes, sauf si vous voulez qu’elles soient cliquables.)
J’ai renommé l’élément comme dans le tableau ci-dessous et j’utiliserai ces noms pour y faire référence. Vous pouvez avoir différents noms. Remplacez simplement ces noms par votre nom. Ce sont des noms VBA (nom de code) qui seront utilisés dans le code. Ils ne seront pas reflétés sur la forme.
Le texte que vous pouvez voir sur les étiquettes et les boutons est «Légendes». Le nom et la légende de l’élément peuvent être identiques, si vous le souhaitez.
Element |
Rename |
Name Text Box |
NameBox |
Age Text Box |
AgeBox |
Male Option Button |
MaleOption |
Female Option Button |
FemaleOption |
Investment Text Box |
InvestBox |
Submit Command Button |
SubmitButton |
Cancel Command Button |
CancelButton |
Afficher le formulaire utilisateur à l’utilisateur: le formulaire est maintenant prêt, montrons-le à l’utilisateur. Mais attendez, comment puis-je faire ça. Il n’y a pas d’option sur la feuille de calcul pour appeler le formulaire utilisateur. En fait, le formulaire utilisateur doit être déclenché. Il ne peut pas être montré par lui-même. Vous pouvez utiliser un bouton de commande, un sous-programme ou un événement pour faire apparaître le formulaire à l’écran.
Ici, je vais utiliser un bouton de commande pour déclencher le formulaire utilisateur.
-
Sur une feuille de calcul, allez dans l’onglet développeurs? Insérer? Button (contrôle de formulaire).
Renommez-le formulaire ouvert.
-
Faites un clic droit dessus. Cliquez sur attribuer une macro, puis sur nouveau.
Un sous-marin sera créé immédiatement. Maintenant, ajoutez cette ligne à ce sous.
Sub Open_Form() 'Opening form InvestmentForm.Show End Sub
C’est fait. Revenez à cette feuille et cliquez sur le bouton. Le formulaire utilisateur apparaîtra.
Remplissez la feuille en utilisant le formulaire utilisateur VBA: Lorsque nous avons cliqué sur le bouton de commande (formulaire ouvert), le formulaire apparaît. Vous pouvez maintenant remplir le formulaire. Mais lorsque nous cliquons sur le bouton Soumettre, les données devraient avoir été saisies sur cette feuille, mais rien ne se passe. Parce que nous n’avons écrit aucune instruction vba pour cela. Nous devons stocker les données du formulaire utilisateur dans une feuille. Revenez à VBA et double-cliquez sur le bouton Soumettre. Un nouveau sous-marin sera créé automatiquement. Ce sous est intégré au formulaire et vous ne le trouverez dans aucun module. C’est la même chose pour chaque élément de forme.
-
Écrivez ce code vba dans ce sous.
Private Sub SubmitButton_Click() Sheet1.Activate 'get first empty row on sheet (read about it here) lstrow = Cells(Rows.Count, 1).End(xlUp).Row Set firstEmptyRow = Range("A" & lstrow + 1) 'initialize each cell with data firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'first cell firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'first cell to the right firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'third cell to the right 'checking radio button If MaleOption.Value = True Then firstEmptyRow.Offset(0, 2).Value = "Male" 'second cell to the right Else firstEmptyRow.Offset(0, 2).Value = "Female" 'second cell to the right End If 'Closing form Unload Me End Sub
L’extrait de code VBA ci-dessus s’exécute lorsque l’utilisateur clique sur le bouton Soumettre. Il trouve la première ligne vide sur la feuille et la remplit avec les valeurs fournies dans le formulaire. Et à la fin, il ferme le formulaire en utilisant la commande « Unload Me ».
Utilisez la commande Annuler pour fermer le formulaire. Pour l’instant, le bouton d’annulation est inutile. Il ne fait rien. Si vous souhaitez abandonner l’entrée, vous pouvez utiliser le bouton d’annulation. Dans ce cas: * Double-cliquez sur le bouton de commande d’annulation dans l’éditeur VBA. Un nouveau sous-marin sera créé. Écrivez simplement cette ligne de code pour fermer le formulaire utilisateur.
Private Sub CancelButton_Click() 'Closing form Unload Me End Sub
Enfin, le code du formulaire ressemblera à ceci.
Et c’est tout. C’est ainsi que vous utilisez Excel vba userform pour obtenir les commentaires des utilisateurs. Dans cet article, nous venons d’explorer l’utilisation de base de userform, afin que vous vous familiarisiez avec lui. C’est simple, si vous avez des connaissances de base de vba.
Dans les prochains articles, nous explorerons des fonctionnalités plus avancées des userforms vba dans Excel. Nous allons créer un formulaire utilisateur dans Excel pour faire beaucoup plus.
Nous explorerons différents outils et éléments disponibles pour vba userform.
Jusque-là, pratiquez cela. Vous pouvez télécharger ce fichier pour référence si vous le souhaitez.
Alors oui les gars, c’était un petit et simple tutoriel sur le formulaire utilisateur. J’espère que c’était ingénieux. Faites-moi savoir si vous avez des doutes à ce sujet, faites-le moi savoir dans la section commentaires ci-dessous.
Articles liés
`link: / 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 en utilisant VBA dans Excel] `
`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 en utilisant VBA dans Excel] `
`link: / user-forms-input-boxes-in-vba-return-a-userdefined-cell-reference-from-a-dialog-using-vba-in-microsoft-excel [Renvoie les cellules référencées par l’utilisateur en utilisant RefEdit contrôle du formulaire utilisateur dans Excel] `
Articles populaires:
link: / formulas-and-functions-introduction-of-vlookup-function [La fonction RECHERCHEV dans Excel]
lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016]
link: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]