Excel VBA Fermer UserForm

Plus tôt, nous avions discuté de la façon de créer un formulaire utilisateur dans VBA. Maintenant, pour obtenir une entrée de l'utilisateur, il y avait un bouton pour soumettre, qui stockait ensuite la valeur donnée par l'utilisateur dans une feuille Excel. Mais qu'après avoir donné de la valeur, le formulaire est toujours là. Ou que faire si l'utilisateur ne veut pas donner de données et fermer le formulaire utilisateur. Nous n'avions pas discuté de la manière de fermer le formulaire utilisateur pour l'utilisateur. Similaire au bouton soumettre pour soumettre les données, nous avions un autre bouton qui était pour annuler et qui est utilisé pour masquer le formulaire utilisateur. Le bouton Annuler a également son propre code pour masquer le formulaire utilisateur à l'utilisateur. Il existe maintenant deux méthodes permettant de masquer un formulaire utilisateur. Ils sont les suivants:

  1. La première méthode consiste à utiliser la méthode Unload Me. Cette méthode décharge l'UserForm et il disparaît de l'affichage.
  2. Une autre méthode consiste à utiliser la méthode Useform.Hide. Cette méthode masque l'UserForm de l'affichage.

Il est recommandé d'utiliser la deuxième méthode pour fermer l'UserForm car la première méthode déchargera complètement l'UserForm et toutes les données entrées par l'utilisateur seront complètement perdues. Mais lorsque nous utilisons la deuxième méthode pour masquer le formulaire utilisateur, la dernière entrée effectuée sur le formulaire utilisateur par l'utilisateur est toujours présente.

Comment fermer UserForm dans Excel VBA?

Nous allons apprendre comment fermer UserForm dans Excel VBA avec sa différence et par quelques exemples mais d'abord, apprenons la méthode de fermeture d'un formulaire utilisateur dans VBA.

Il existe deux méthodes pour fermer le formulaire utilisateur dans VBA:

  1. Décharge-moi
  2. Cacher
Vous pouvez télécharger ce modèle Excel VBA Close UserForm ici - Modèle Excel VBA Close UserForm

Excel VBA Close UserForm - Exemple # 1

Tout d'abord, essayons la méthode de fermeture d'un UserForm à l'aide de l'option Unload Me. Nous avions un formulaire utilisateur dans notre article précédent qui ressemble à celui ci-dessous.

Pour le bouton de soumission, nous avions notre code, qui stockait les données saisies par l'utilisateur dans Excel. Maintenant, double-cliquez sur le bouton Annuler qui ouvrira le code comme suit,

Code:

 Sub Sub CommandButton2_Click () End Sub 

Le bouton Annuler était le deuxième bouton de commande que nous avons fourni au formulaire utilisateur. Maintenant, écrivez l'instruction de code en tant que Déchargez-moi dans la section comme indiqué dans l'image ci-dessous.

Code:

 Private Sub CommandButton2_Click () Déchargez-moi End Sub 

Nous pouvons voir que Me est une instruction Object of Unload. Maintenant, exécutons le formulaire utilisateur en appuyant sur la touche F5 pour l'afficher.

Appuyez sur le bouton Annuler pour voir que le formulaire utilisateur disparaît et il nous ramène au formulaire utilisateur d'origine de la fenêtre de projet.

Excel VBA Close UserForm - Exemple # 2

Essayons maintenant la deuxième méthode qui userform.hide méthode de la même manière que ci-dessus, ouvrons d'abord le userform à partir du userform dans la fenêtre du projet.

Maintenant, double-cliquez sur le bouton d'annulation qui ouvrira le code d'affichage du bouton de commande d'annulation.

Nous avons déjà une instruction Unload Me présente dans le bouton de commande d'annulation, effacez le code et remplacez-le par l'instruction Userform.Hide .

Code:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Maintenant, exécutons à nouveau le formulaire utilisateur en appuyant sur la touche F5 et affichez-le à l'écran.

Lorsque nous appuyons sur le bouton Annuler, nous sommes de nouveau déplacés vers la fenêtre de projet du formulaire utilisateur. Maintenant, nous pouvons tous nous demander quelle est la différence entre les deux méthodes, car les deux méthodes ferment parfaitement le formulaire utilisateur, alors pourquoi est la deuxième méthode la plus recommandée des deux. Nous découvrirons exactement pourquoi dans les deux exemples suivants.

Excel VBA Close UserForm - Exemple # 3

Passons maintenant à la première instruction Unload Me pour le bouton d'annulation et fournissons des données au formulaire utilisateur. Double-cliquez sur le bouton Annuler du formulaire utilisateur pour ouvrir le code d'affichage du bouton de commande et remplacez le code par l'instruction Unload Me comme suit.

Code:

 Private Sub CommandButton2_Click () Déchargez-moi End Sub 

Exécutez à nouveau le formulaire utilisateur en appuyant sur la touche F5 et affichez-le à l'écran.

Laissez-nous fournir certaines données au formulaire utilisateur comme suit, maintenant, n'appuyez pas sur le bouton Soumettre, appuyez sur le bouton Annuler.

Exécutez à nouveau le formulaire utilisateur en appuyant sur la touche F5.

Maintenant, nous pouvons voir que nous avons perdu les données que nous avons fournies au formulaire utilisateur depuis que nous ne les avons pas soumises, elles n'étaient pas stockées dans la feuille de calcul et nous avons fermé le formulaire utilisateur à l'aide de l'instruction Unload Me qui a supprimé les données déjà remplies.

Excel VBA Close UserForm - Exemple # 4

Faisons maintenant le même exercice mais en utilisant l'instruction Userform.Hide,

Dans le bouton de commande d'annulation, remplacez le code correspondant à l'aide de la méthode userform.hide comme indiqué ci-dessous.

Code:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Maintenant, nous allons à nouveau exécuter le formulaire utilisateur en appuyant sur la touche F5 et lui fournir certaines données comme suit.

Maintenant, appuyons sur le bouton Annuler et exécutons à nouveau le formulaire utilisateur qui nous donnera le résultat suivant.

Les données ne sont même pas perdues lorsque nous avons appuyé sur le bouton Annuler si nous appuyons sur Soumettre, il stockera les données dans Excel comme suit.

Maintenant, les données sont stockées, le formulaire utilisateur est maintenant vide et nous pouvons fermer le formulaire utilisateur à l'aide du bouton Annuler,

Choses dont il faut se rappeler

  • Une fois que la saisie des données a été effectuée par l'utilisateur, nous devons fermer le formulaire utilisateur, il est donc aussi important que le bouton Soumettre.
  • Fermer le formulaire utilisateur se trouve dans le bouton de commande du formulaire utilisateur dans VBA. En général, il est nommé Annuler ou Fermer.
  • Il existe deux méthodes distinctes pour fermer un formulaire utilisateur, mais elles ont finalement le même objectif l'une que l'autre.
  • La méthode Userform.Hide est plus recommandée car même si le formulaire utilisateur est fermé par l'utilisateur avant la saisie des données, les données ne sont pas perdues et la saisie effectuée par l'utilisateur est à nouveau affichée lorsqu'un utilisateur ouvre le formulaire utilisateur.

Articles recommandés

Ceci est un guide de VBA Close UserForm. Nous expliquons ici comment fermer UserForm dans Excel à l'aide de l'instruction Unload Me et de la méthode Userform.Hide dans VBA, ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment activer la feuille dans VBA?
  2. Évaluer la formule dans Excel
  3. Guide complet de la zone de liste VBA
  4. Formule HYPERLINK dans Excel

Catégorie: