Formulaire utilisateur Excel VBA - Comment créer un formulaire utilisateur interactif?

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 pour 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 à l'intérieur de 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 peut être téléchargé à partir d'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?

Tout comme vous insérez un nouveau module de la même manière, vous devez cliquer sur le bouton INSÉRER dans Visual Basic Editor pour insérer Userform.

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 ceci, essayez d'autres propriétés pour obtenir la vue du formulaire utilisateur.

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 soit cliquer sur une boîte à outils, soit 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.

Modifiez le nom en ID d'employé.

Maintenant, insérez de la même manière une autre étiquette et nommez-la "Service".

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 dans à 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».

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.

VBA Code

Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.

Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the 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 the Employee ID text box.
  • Dept.Value this is the department text box name.

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

Now double click on the 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 est le nom que nous avons donné au formulaire utilisateur. MyUserForm.Hide signifie que le clic sur le bouton ANNULER masquera le formulaire utilisateur.

Ok, maintenant créez un modèle comme celui-ci dans la feuille de calcul.

Supprimez toutes les autres feuilles du classeur à l'exception de cette feuille de modèle.

Maintenant, allez dans Visual Basic Editor.

Et exécutez la macro à l'aide de la touche F5 ou manuellement, nous verrons le formulaire utilisateur devant nous.

Entrez le nom de l'employé, l'identifiant de l'employé et le nom du service.

Maintenant, si vous cliquez sur le bouton SOUMETTRE, il stockera les valeurs sur le modèle que nous avons créé.

Comme ça, vous pouvez continuer à saisir les noms. Le formulaire utilisateur continuera à stocker les valeurs entrées par l'utilisateur dans les cellules spécifiées.

Ainsi, en utilisant USER FORM, nous pouvons créer de merveilleux projets pour obtenir les informations de l'utilisateur.

Articles intéressants...