Vba

Fonction et sous

Function Sub

Fonction | Sous





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

Fonction

Si vous souhaitez qu'Excel VBA effectue une tâche qui renvoie 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 avec le nom Area.





FonctionSuperficie (xComme Double, etComme Double)Comme Double

Aire = x * y

Finir Fonction

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

Vous pouvez maintenant faire référence à cette fonction (en d'autres termes appeler la fonction) depuis un autre endroit de votre code en utilisant simplement le nom de la fonction et en donnant une valeur pour chaque argument.



convertir le nombre en heures et minutes dans Excel

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

RienAvecComme Double

z = Aire (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'un MsgBox.

excel convertir la date en numéro de série

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

Résultat de la fonction Excel VBA

Sous

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

SousSuperficie (xComme Double, etComme Double)

MsgBox x * y

Finir Sous

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

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

Zone 3, 5

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

Sous-résultat Excel VBA

compter le nombre de jours dans Excel

Pouvez-vous voir la différence entre la fonction et le sub ? 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 sub, nous n'avions plus aucun contrôle sur le résultat (15) car un sub ne peut pas renvoyer de valeur !

1/5 Terminé ! En savoir plus sur les fonctions et les abonnements >
Aller au chapitre suivant : Objet d'application



^