VBA
Créer une procédure
Recherche…
Introduction aux procédures
Un Sub
est une procédure qui effectue une tâche spécifique mais ne renvoie pas de valeur spécifique.
Sub ProcedureName ([argument_list])
[statements]
End Sub
Si aucun modificateur d'accès n'est spécifié, une procédure est Public
par défaut.
Une Function
est une procédure qui reçoit des données et renvoie une valeur, idéalement sans effets secondaires globaux ou de portée de module.
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
Une Property
est une procédure qui encapsule des données de module. Une propriété peut avoir jusqu'à 3 accesseurs: Get
une valeur ou une référence d'objet, Let
pour affecter une valeur et / ou Set
pour affecter une référence d'objet.
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
Les propriétés sont généralement utilisées dans les modules de classe (bien qu'elles soient également autorisées dans les modules standard), exposant l'accesseur à des données inaccessibles au code appelant. Une propriété qui expose uniquement un accesseur Get
est "en lecture seule"; une propriété qui exposerait uniquement un accesseur Let
et / ou Set
est "en écriture seule". Les propriétés en écriture seule ne sont pas considérées comme une bonne pratique de programmation - si le code client peut écrire une valeur, il doit pouvoir le lire . Envisagez d'implémenter une procédure Sub
au lieu de créer une propriété en écriture seule.
Retourner une valeur
Une Function
ou une procédure d' Property Get
peut (et devrait!) Renvoyer une valeur à son appelant. Cela se fait en attribuant l'identifiant de la procédure:
Property Get Foo() As Integer
Foo = 42
End Property
Fonction avec exemples
Comme indiqué ci-dessus, les fonctions sont des procédures plus petites qui contiennent de petits morceaux de code qui peuvent être répétitifs dans une procédure.
Les fonctions permettent de réduire la redondance dans le code.
Semblable à une procédure, une fonction peut être déclarée avec ou sans liste d'arguments.
La fonction est déclarée comme type de retour, toutes les fonctions renvoyant une valeur. Le nom et la variable de retour d'une fonction sont identiques.
Fonction avec paramètre:
Function check_even(i as integer) as boolean if (i mod 2) = 0 then check_even = True else check_even=False end if end Function
Fonction sans paramètre:
Function greet() as String greet= "Hello Coder!" end Function
La fonction peut être appelée de différentes manières dans une fonction. Comme une fonction déclarée avec un type de retour est essentiellement une variable. il est similaire à une variable.
Appels fonctionnels:
call greet() 'Similar to a Procedural call just allows the Procedure to use the
'variable greet
string_1=greet() 'The Return value of the function is used for variable
'assignment
De plus, la fonction peut également être utilisée comme condition pour if et d'autres instructions conditionnelles.
for i = 1 to 10
if check_even(i) then
msgbox i & " is Even"
else
msgbox i & " is Odd"
end if
next i
De plus, les fonctions peuvent avoir des modificateurs tels que By ref et By val pour leurs arguments.