Qu'est-ce que Call Sub dans VBA?
Nous pouvons exécuter toutes les sous-procédures d'un même module dans un seul sous-programme et le processus de leur exécution dans un seul sous-programme VBA appelé «Call Sub».
Dans certains cas, nous pouvons avoir besoin d'écrire une énorme quantité de code et de les écrire dans une seule macro crée de nombreux problèmes lors du débogage du code. Au début, tout le monde a tendance à le faire uniquement à cause du manque de connaissances sur la méthode «Call Sub».
Ce n'est pas la bonne pratique de conserver tous les codes dans une seule sous-procédure, nous devons les diviser en plusieurs sous-procédures pour simplifier le code.
Comment appeler un sous-programme dans Excel VBA?
L'exécution de la macro Excel d'une procédure à une autre simplifie la vie uniquement en économisant beaucoup de temps lors de l'exécution ainsi que pendant le débogage du code en cas d'erreur.
Vous pouvez télécharger ce modèle Excel de sous-appel VBA ici - Modèle Excel de sous-appel VBA
Code:
Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub
Dans l'image ci-dessus, nous avons deux sous-procédures. Le premier est «Code_1» et le second est «Code_2».
Dans le premier sous-code d'appel VBA, je viens d'écrire un code pour insérer une valeur dans la cellule A1 en tant que «Bonjour». Dans la deuxième sous-procédure, j'ai écrit le code pour changer la couleur intérieure de la cellule A1 en «rgbAquamarine».
Maintenant, je vais exécuter le premier code à savoir «Code_1».
Maintenant, je vais exécuter le deuxième code à savoir «Code_2».
Ici, j'ai exécuté les heures de code.
En utilisant le VBA «call Sub», nous pouvons exécuter la sous-procédure dans une seule macro uniquement. Il suffit d'ajouter le mot «Call» suivi d'un nom de macro.
Regardez l'image graphique ci-dessous.
J'ai mentionné le code comme «Code d'appel_2» dans la première sous-procédure uniquement. Maintenant, pour comprendre, exécutons le code ligne par ligne. Appuyez sur la touche F8 pour mettre en évidence le nom de la macro.
Appuyez une fois de plus sur la touche F8 pour passer à la ligne suivante.
La ligne jaune indique que le code en surbrillance est sur le point de s'exécuter si nous appuyons une fois de plus sur la touche F8. Appuyez maintenant sur la touche F8.
Comme nous pouvons le voir, il a inséré le mot «Bonjour» dans la cellule A1. La ligne «Call Code_2» a maintenant été mise en surbrillance.
«Call Code_2» a pour tâche de changer la couleur intérieure de la cellule A1 et le mot «Call Code_2» exécutera ce code uniquement à partir de la sous-procédure réelle.
Mais appuyez sur la touche F8 pour voir la magie.
Il est passé au nom de sous-procédure mentionné. Appuyez à nouveau sur la touche F8.
Maintenant, la ligne de tâche réelle en surbrillance, pour exécuter cette touche F8 une fois de plus.
De cette manière, nous pouvons exécuter de nombreuses sous-procédures à partir d'une sous-procédure en appelant la sous-procédure par leur nom avec le mot «Call».
Remarque:
- Nous pouvons exécuter la macro d'une autre sous procédure sans utiliser le mot «Call» mais simplement en mentionnant le nom de la macro elle-même.
- Ce n'est pas la meilleure pratique car si la sous-procédure de macro contient des parenthèses que vous souhaitez exécuter, le mot «Appel» est obligatoire.
- À mon avis, utilisez toujours le mot «Appeler», car ce n'est qu'un mot de 4 lettres qui permet aux autres de comprendre correctement le code.