/ / Excel VBA Fonction et Sub

Fonction VBA Excel et Sub

Une fonction | Sous

La différence entre un une fonction et un sous dans Excel VBA est-ce qu'une fonction peut renvoyer une valeur alors qu'un sous-marin ne le peut pas. Les fonctions et les sous-programmes deviennent très utiles lorsque la taille du programme augmente.

Une fonction

Si vous voulez qu'Excel VBA exécute une tâche quirenvoie un résultat, vous pouvez utiliser une fonction. Placez une fonction dans un module (dans Visual Basic Editor, cliquez sur Insérer, Module). Par exemple, la fonction nommée Area.

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

Explication: Cette fonction a deux arguments (de type Double) et un type de retour (la partie après As de type Double). Vous pouvez utiliser le nom de la fonction (Area) dans votre code pour indiquer le résultat que vous voulez renvoyer (ici x * y).

Vous pouvez maintenant vous référer à cette fonction (autrement dit, appeler la fonction) ailleurs dans votre code en utilisant simplement le nom de la fonction et en donnant une valeur pour chaque argument.

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

Explication: La fonction renvoie une valeur, vous devez donc "attraper" cette valeur dans votre code. Vous pouvez utiliser une autre variable (z) pour cela. Ensuite, vous pouvez ajouter une autre valeur à cette variable (si vous le souhaitez). Enfin, affichez la valeur à l'aide d'une MsgBox.

Résultat lorsque vous cliquez sur le bouton de commande de la feuille:

Résultat de la fonction VBA Excel

Sous

Si vous voulez qu'Excel VBA effectue certaines actions, vous pouvez utiliser un sous-programme. Placez un sous-marin dans un module (dans Visual Basic Editor, cliquez sur Insérer, Module). Par exemple, le sous avec le nom Area.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Explication: Ce sous a deux arguments (de type Double). Il n'a pas de type de retour! Vous pouvez faire référence à ce sous (appelez le sous) depuis un autre endroit de votre code en utilisant simplement le nom du sous et en donnant une valeur pour chaque argument.

Placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante:

Area 3, 5

Résultat lorsque vous cliquez sur le bouton de commande de la feuille:

Sous-résultat Excel VBA

Pouvez-vous voir la différence entre la fonctionet le sous? La fonction a renvoyé la valeur 15. Nous avons ajouté la valeur 2 à ce résultat et affiché le résultat final. Lorsque nous avons appelé le sous-marin, nous n’avions plus aucun contrôle sur le résultat (15) car un sous-marin ne peut pas renvoyer de valeur!

Lisez aussi: