Sous-programme Excel VBA : comment appeler Sub dans VBA avec exemple

Qu’est-ce qu’un sous-programme en VBA ?

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

Supposons que vous ayez créé une interface utilisateur avec des zones de texte pour accepter les données saisies par l'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 renvoyer aucun résultat.

Pourquoi utiliser les sous-programmes

  • Divisez le code en petit code gérable: Un programme informatique moyen comporte 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 doit 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 du code séparé pour ces fenêtres, vous pouvez créer une fonction qui gère toutes les interactions avec la base de données. Vous pouvez ensuite l'appeler depuis 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/de la fonction, le programmeur sera en mesure de savoir 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 qu'il faut suivre.

  • Un nom de sous-programme ou de fonction d'appel VBA ne peut pas contenir d'espace
  • Un sous-appel ou un nom de fonction Excel VBA doit commencer par une lettre ou un trait de soulignement. Il ne peut pas commencer par un chiffre 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 des sous-programmes 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 tutoriel sur VBA Operajeudi

ICI dans la syntaxe,

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

Explication de la syntaxe

Code Action
  • « Sous-privé 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 comme chaîne, ByVal arg2 comme chaîne » :
  • Il déclare deux paramètres de type de données chaîne arg1 et arg2
  • "Fin du sous-marin"
  • « 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 pour 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. Tester l'application

Étape 1) Interface utilisateur

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

Comment appeler Sub dans VBA

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

Ratio S / N Contrôle Propriété Valeur
1 Bouton de commande1 Nom btnDisplayFullName
2 Légende Sous-programme Nom complet


Votre interface devrait maintenant ressembler à ceci.

Comment appeler Sub dans VBA

Étape 2) Ajouter un sous-programme

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

ICI dans le code,

Code Actions
  • « Sous-affichage privéFullName(…) »
  • Il déclare un sous-programme privé displayFullName qui accepte deux paramètres de chaîne.
  • "ByVal firstName sous forme de chaîne, ByVal lastName sous forme de chaîne"
  • Il déclare deux variables de paramètre firstName et lastName
  • MsgBox Prénom nom de famille"
  • Il appelle le MsgBox fonction intégrée pour afficher une boîte de message. Elle passe ensuite les variables 'firstName' et 'lastName' comme 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

Appel du sous-programme à partir de l’événement de clic du bouton de commande.

  • Faites un clic droit sur le bouton de commande comme indiqué dans l'image ci-dessous. Sélectionnez Afficher le code.
  • L'éditeur de code s'ouvrira

Comment appeler Sub dans VBA

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

Comment appeler Sub dans VBA

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

Étape 4) Tester le code

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

Comment appeler Sub dans VBA

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

Vous obtiendrez les résultats suivants

Comment appeler Sub dans VBA

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 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.