Comment appeler un sous en VBA dans Excel (4 exemples)

  • Partage Ça
Hugh West

Dans cet article, je vais vous montrer comment vous pouvez appeler une Sous d'un autre Sous ou Fonction sur VBA sur Excel Vous apprendrez à appeler un Sous avec ou sans arguments, ainsi que les deux Public et Privé Substitut .

Comment appeler un sous-programme en VBA dans Excel (vue rapide)

Note : Ici, un Sous appelé Sub2 appelle un Sous appelé Sub1 .

Télécharger le cahier d'exercices

VBA Call Sub.xlsm

Téléchargez ce livre d'exercices pour vous exercer à la tâche pendant que vous lisez cet article.

4 façons d'appeler un sous en VBA dans Excel

Ici, nous avons un Sous sur VBA appelé Sub1 .

Si vous exécutez Sub1 vous obtiendrez le message suivant "Sub1 est en cours d'exécution."

Aujourd'hui, notre objectif est d'apprendre comment nous pouvons appeler cette Sous d'un autre Sous ou Fonction de toutes les manières possibles.

Appel d'un sous-programme sans arguments à partir d'un autre sous-programme en VBA dans Excel.

Tout d'abord, nous allons appeler un Sous sans aucun argument d'un autre Sous sur VBA .

Ici, Sub1 est le Sous sans arguments.

Maintenant, nous allons appeler le Sub Sub1 d'un autre Sous appelé Sub2 .

Pour appeler le Sub Sub1 d'un autre Sous vous devez utiliser la ligne de code :

Sub1

Ou

Appeler Sub1

Maintenant, si vous exécuter Sub2 , Sub1 sera appelé et le message "Sub1 est en cours d'exécution." s'affichera.

Appeler un sous avec des arguments provenant d'un autre sous en VBA dans Excel

Maintenant, nous allons appeler un Sous avec les arguments d'un autre Sous sur VBA .

Ici, nous avons changé le Sous Sub1 de manière à ce qu'il contienne un argument appelé Valeur d'entrée et lorsqu'il est exécuté, il affiche cet argument.

Pour appeler cela Sous d'un autre Sous ( Sub2 ), nous devons utiliser la ligne de code :

Sub1(Valeur_d'entrée)

Ou

Appeler Sub1(Valeur_Input)

Ici, nous avons utilisé :

Appeler Sub1(10)

Maintenant, quand on va courir Sub2 , Sub1 sera appelé avec l'entrée 10 et 10 sera affiché dans un Boîte à messages .

Lectures similaires :

  • Comment retourner une valeur dans une fonction VBA (valeurs de type tableau ou non) ?
  • Utiliser la fonction LCase en VBA dans Excel (avec 4 exemples)
  • Comment utiliser la fonction SPLIT de VBA dans Excel (5 exemples)
  • Utiliser la fonction TRIM en VBA dans Excel (définition + code VBA)

Appeler un sous avec/sans arguments à partir d'une fonction définie par l'utilisateur en VBA dans Excel

Vous pouvez également appeler un Sous d'un Fonction définie par l'utilisateur sur VBA .

Sub sans arguments

Appelons un Sous sans arguments au préalable.

Ici, nous avons à nouveau modifié le Sous Sub1 à celui sans arguments.

Maintenant, nous allons créer un Fonction appelé Fonction1 et appeler Sub1 de cette fonction.

Pour appeler un Sous d'une fonction, la ligne de code à utiliser est la même :

Sub1

Ou

Appeler Sub1

Maintenant, si vous insérez Fonction1 dans n'importe quelle cellule de votre feuille de calcul, Sub1 sera appelé et un Boîte à messages affichera "Sub1 est en cours d'exécution." .

Sub avec arguments

Vous pouvez également appeler un Sous avec les arguments d'un Fonction définie par l'utilisateur sur VBA sur Excel .

Ici, nous avons changé Sub1 à celui qui a des arguments, encore.

Maintenant nous avons appelé Sub1 de Fonction1 par la ligne de code :

Appeler Sub1(10)

Maintenant, si nous insérons Fonction1 dans n'importe quelle cellule de notre feuille de calcul, il affichera 10 dans un Boîte à messages .

4. appeler un sous privé à partir d'un autre sous ou d'une autre fonction en VBA dans Excel

Jusqu'à présent, nous avons appelé un Public Sub d'un autre Sous ou Fonction Cette fois-ci, nous allons montrer comment appeler une fonction Private Sub d'un autre Sous ou Fonction sur VBA .

Appel depuis un sous-marin :

Vous ne pouvez appeler un Private Sub d'un autre Sous si les deux sont dans le même module de votre VBA fenêtre.

Ici, nous avons changé Sub1 à un Private Sub en ajoutant le terme Privé dans la première ligne, et l'a appelé depuis Sub2 qui se trouve dans le même module.

Maintenant, si vous exécutez Sub2 vous obtiendrez un Boîte à messages en affichant 10 .

Appel à partir d'une fonction :

Même chose pour les fonctions. Pour appeler une Private Sub d'un Fonction sur VBA le Sous et le Fonction doivent être dans le même module.

Ici, nous avons inséré le Private Sub Sub1 et le Fonction Fonction1 dans le même module.

Maintenant, si nous insérons Fonction1 dans n'importe quelle cellule de notre feuille de calcul, un Boîte à messages affichera 10 .

Résumé

Voici le résumé de tous les points discutés aujourd'hui :

  • Vous pouvez appeler un Sous d'un autre Sous ou Fonction définie par l'utilisateur sur VBA en utilisant le terme "Appel" avec le nom de la Sous ou simplement en mettant le nom de l Sous .
  • Si le Sous à appeler contient un argument vous devez appeler le Sous avec n'importe quelle valeur de ce argument .
  • Si le Sous à appeler est déclaré comme un Privé un, vous devez l'appeler à partir d'un autre Sous ou Fonction du même module.

Conclusion

En utilisant ces méthodes, vous pouvez appeler un Sous d'un autre Sous ou Fonction sur VBA Vous avez des questions ? N'hésitez pas à nous les poser.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.