UserForm VBA

Formulaire utilisateur Excel VBA

Userform dans VBA sont des formulaires personnalisés définis par l'utilisateur qui sont conçus pour prendre l'entrée d'un utilisateur au format d'un formulaire, il a différents ensembles de contrôles à ajouter tels que des zones de texte, des étiquettes de cases à cocher, etc. pour guider un utilisateur à entrer une valeur et il stocke la valeur dans la feuille de calcul, chaque partie du formulaire utilisateur a un code unique avec elle.

Userform est un objet dans l'interface Excel et dans ce formulaire utilisateur, nous pouvons créer d'autres boîtes de dialogue personnalisées utiles pour obtenir les données de l'utilisateur. Lorsque vous travaillez avec un fichier de macro qui est créé par votre senior ou qui peut être téléchargé depuis Internet, vous devez avoir vu un formulaire utilisateur comme celui-ci.

Dans cet article, nous allons vous montrer comment créer un formulaire utilisateur similaire pour stocker les données de l'utilisateur.

Comment créer un formulaire utilisateur?

De la même manière que vous insérez un nouveau module, vous devez cliquer sur le bouton INSERER dans Visual Basic Editor pour insérer Userform.

Vous pouvez télécharger ce modèle Excel de formulaire utilisateur VBA ici - Modèle Excel de formulaire utilisateur VBA

Dès que vous cliquez dessus, le formulaire utilisateur sera également inséré.

Avant de vous dire comment programmer cela, laissez-moi vous montrer comment formater ce formulaire utilisateur.

Formater le formulaire utilisateur

En sélectionnant le formulaire utilisateur, appuyez sur la touche F4, il vous montrera la fenêtre des propriétés.

En utilisant cette fenêtre de propriétés, nous pouvons formater ce formulaire utilisateur, nous pouvons le nommer, nous pouvons changer la couleur, le style de la bordure, etc.

Comme ça, essayez d'autres propriétés pour avoir la vue de userform.

Maintenant, pour ce formulaire utilisateur, insérez Toolbox.

Nous allons maintenant voir une boîte à outils comme celle-ci.

À ce moment, le formulaire utilisateur est simplement inséré non programmé. Pour savoir comment cela fonctionne, cliquez simplement sur le bouton Exécuter, nous verrons le formulaire sur la feuille de calcul Excel.

Maintenant, en utilisant l'étiquette de dessin ToolBox.

Entrez le texte comme nom de l'employé à l'intérieur de l'étiquette.

Pour cette étiquette, nous pouvons donc formater en utilisant les propriétés. Maintenant, nous avons entré le texte comme "Nom de l'employé:" maintenant nous pouvons le voir dans la fenêtre des propriétés sous Légendes.

Insérez une autre étiquette. Pour insérer une autre étiquette, vous pouvez cliquer sur une boîte à outils ou vous pouvez faire glisser l'étiquette actuelle en maintenant la touche Ctrl enfoncée, vous aurez une réplique de l'étiquette actuelle.

Maintenant, nous aurons la même étiquette.

Changez le nom en ID d'employé.

Maintenant, insérez de la même manière une autre étiquette et nommez-la «Département».

Maintenant, à partir de la boîte à outils, insérez une zone de texte.

Nommez cette zone de texte comme EmpName dans la fenêtre des propriétés.

Comme ceci, insérez deux autres zones de texte à partir de l'ID d'employé et du service respectivement. Nommez ces zones de texte selon leur en-tête.

De même, faites-le pour le ministère.

Maintenant, à partir de la boîte à outils, insérez le bouton de commande.

Remplacez le nom du bouton de commande par «SubmitButton» et changez la légende en «Submit».

Insérez un autre bouton et appelez-le «Annuler».

Maintenant, juste pour voir exécuter, appuyez sur le bouton Exécuter ou utilisez la touche F5 et voyez à quoi ressemble votre formulaire utilisateur dans Excel.

Maintenant, il prend forme.

Code VBA

Maintenant, l'utilisateur va entrer des données dans ce formulaire, nous devons donc le programmer pour stocker les données entrées par l'utilisateur sur ce formulaire.

Double-cliquez sur le bouton SOUMETTRE, cela vous mènera à la fenêtre de macro avec une macro créée automatiquement comme ci-dessous.

It says SubmitButton click, remember we had given a name for SUBMIT button as SubmitButton.

So, whenever we want to call this button we can call this by this name (submit button). Inside this macro copy and paste the below code.

Code:

 Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Value this is department text box name.

So, on the click on submit button it will store the values in the mentioned cells.

Now double click on Cancel button, this will also show you the auto macro name like this.

Copy the below code and paste.

Code:

 Private Sub CancelButton_Click() MyUserForm.Hide End Sub 

MyUserForm is the name we had given to the userform. MyUserForm.Hide means on the click on the CANCEL button it will hide the userform.

Ok, now create a template like this in the worksheet.

Delete all the other sheets in the workbook except this template sheet.

Now go to Visual Basic Editor.

And run the macro using F5 key or manually, we will see user form in front of us.

Enter the employee name, employee id, and Department name.

Now if you click on the SUBMIT button, it will store the values on to the template we have created.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.