Sous-programme Excel VBA: Comment appeler Sub dans VBA avec un exemple

Table des matières:

Anonim

Qu'est-ce qu'un sous-programme dans VBA?

Un sous-programme dans VBA est un morceau de code qui effectue une tâche spécifique décrite dans le code mais ne renvoie pas de résultat ni de valeur. Les sous-programmes sont utilisés pour décomposer de gros morceaux de code en petites parties gérables. Les sous-programmes peuvent être rappelés plusieurs fois à partir de n'importe où dans le programme.

Supposons que vous ayez créé une interface utilisateur avec des zones de texte pour accepter les données d'entrée utilisateur. Vous pouvez créer un sous-programme qui efface le contenu des zones de texte. Un sous-programme d'appel VBA est approprié dans un tel scénario car vous ne souhaitez pas renvoyer de résultats.

Dans ce didacticiel VBA, vous apprendrez-

  • Pourquoi utiliser des sous-programmes
  • Règles de dénomination des sous-programmes et des fonctions
  • Syntaxe du sous-programme VBA
  • Comment appeler Sub dans VBA

Pourquoi utiliser des sous-programmes

  • Décomposer le code en petit code gérable : un programme informatique moyen a des milliers et des milliers de lignes de code source. Cela introduit de la complexité. Les sous-programmes aident à résoudre ce problème en décomposant le programme en petits morceaux de code gérables.
  • Réutilisation du code . Disons que vous avez un programme qui a besoin d'accéder à la base de données, presque toutes les fenêtres du programme devront interagir avec la base de données. Au lieu d'écrire un code distinct pour ces fenêtres, vous pouvez créer une fonction qui gère toutes les interactions de base de données. Vous pouvez ensuite l'appeler à partir de la fenêtre de votre choix.
  • Les sous-programmes et les fonctions sont auto-documentés . Disons que vous avez une fonction CalculateLoanInterest et une autre qui dit connectToDatabase. En regardant simplement le nom du sous-programme / fonction, le programmeur pourra dire ce que fait le programme.

Règles de dénomination des sous-programmes et des fonctions

Pour utiliser des sous-programmes et des fonctions, il existe un ensemble de règles à suivre.

  • Un nom de sous-programme ou de fonction d'appel VBA ne peut pas contenir d'espace
  • Un nom de sous-appel ou de fonction Excel VBA doit commencer par une lettre ou un trait de soulignement. Il ne peut pas commencer par un nombre ou un caractère spécial
  • Un nom de sous-programme ou de fonction ne peut pas être un mot-clé. Un mot-clé est un mot qui a une signification particulière dans VBA. Des mots comme Private, Sub, Function et End, etc. sont tous des exemples de mots-clés. Le compilateur les utilise pour des tâches spécifiques.

Syntaxe du sous-programme VBA

Vous devrez activer l'onglet Développeur dans Excel pour suivre cet exemple. Si vous ne savez pas comment activer l'onglet Développeur, lisez le didacticiel sur les opérateurs VBA

ICI dans la syntaxe,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Explication de la syntaxe

Code

action

  • "Private Sub mySubRoutine (…)"
  • Ici, le mot-clé "Sub" est utilisé pour déclarer un sous-programme nommé "mySubRoutine" et démarrer le corps du sous-programme.
  • Le mot-clé Private est utilisé pour spécifier la portée du sous-programme
  • "ByVal arg1 As String, ByVal arg2 As String":
  • Il déclare deux paramètres de type de données chaîne nom arg1 et arg2
  • "End Sub"
  • "End Sub" est utilisé pour terminer le corps du sous-programme

Le sous-programme suivant accepte le prénom et le nom et les affiche dans une boîte de message.

Nous allons maintenant programmer et exécuter cette sous-procédure. Voyons ça.

Comment appeler Sub dans VBA

Vous trouverez ci-dessous un processus étape par étape sur la façon d'appeler Sub dans VBA:

  1. Concevez l'interface utilisateur et définissez les propriétés des contrôles utilisateur.
  2. Ajouter le sous-programme
  3. Écrivez le code d'événement de clic pour le bouton de commande qui appelle le sous-programme
  4. Testez l'application

Étape 1) Interface utilisateur

Concevez l'interface utilisateur comme indiqué dans l'image ci-dessous

Définissez les propriétés suivantes. Les propriétés que nous définissons

S / N Contrôler Biens Évaluer
1 CommandButton1 Nom btnDisplayFullName
2 Légende Sous-programme de nom complet

Votre interface devrait maintenant ressembler à ceci

Étape 2) Ajouter un sous-programme

  1. Appuyez sur Alt + F11 pour ouvrir la fenêtre de code
  2. Ajouter le sous-programme suivant
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

ICI dans le code,

Code

Actions

  • "Private Sub displayFullName (…)"
  • Il déclare un sous-programme privé displayFullName qui accepte deux paramètres de chaîne.
  • "ByVal firstName As String, ByVal lastName As String"
  • Il déclare deux variables de paramètre firstName et lastName
  • MsgBox firstName & "" & lastName "
  • Il appelle la fonction intégrée MsgBox pour afficher une boîte de message. Il passe ensuite les variables «firstName» et «lastName» en tant que paramètres.
  • L'esperluette "&" est utilisée pour concaténer les deux variables et ajouter un espace vide entre elles.

Étape 3) Appel du sous-programme à partir de l'événement de clic du bouton de commande.

  • Cliquez avec le bouton droit sur le bouton de commande comme indiqué dans l'image ci-dessous. Sélectionnez Afficher le code.
  • L'éditeur de code s'ouvre

Ajoutez le code suivant dans l'éditeur de code pour l'événement click du bouton de commande btnDisplayFullName.

Private Sub btnDisplayFullName_Click()displayFullName "John", "Doe"End Sub

Votre fenêtre de code devrait maintenant ressembler à ceci

Enregistrez les modifications et fermez la fenêtre de code.

Étape 4) Test du code

Dans la barre d'outils du développeur, désactivez le mode de conception. Comme indiqué ci-dessous.

Étape 5) Cliquez sur le bouton de commande 'FullName Subroutine'.

Vous obtiendrez les résultats suivants

Téléchargez le code Excel ci-dessus

Résumé:

  • Un sous-programme est un morceau de code qui exécute une tâche spécifique. Un sous-programme ne renvoie pas de valeur après l'exécution
  • Les sous-programmes offrent la réutilisabilité du code
  • Les sous-programmes aident à décomposer de gros morceaux de code en petits codes gérables.