[Private | Public] [Static] Function nom [(liste de paramètres)] [AS type]
[instructions]
[nom= expression]
[Exit Function]
[instructions]
[nom= expression]
End Function
Où:
Public Indique que la procédure Function est accessible à toutes les autres procédures dans l’ensemble des modules.
Private Indique que la procédure Function n’est accessible qu’à d’autres procédures du module dans lequel elle a été déclarée.
Static Indique que les valeurs des variables locales de la procédure Sub sont conservées entre les appels.En l’absence de Static, les variables sont réinitialisées à chaque exécution de la procédure. Static est très rarement nécessaire.
nom Nom de la procédure Function. Respecte les règles des noms de variables.
Liste de paramètres Liste de variables représentant des paramètres qui sont passés à la procédure Sub lorsqu’elle est appelée. Les variables multiples sont séparées par des virgules. Chaque paramètre doit être déclaré dans la forme suivante:
[Optional] [ByVal | ByRef] [ParamArray] nom[( )] [As type] [=défaut]
où:
- Optional indique que ce paramètre n’est pas obligatoire. S’il est utilisé, tous les paramètres suivants doivent l’être aussi.
- ByRef indique que si la valeur du paramètre est modifiée dans la procédure, elle le sera aussi dans la procédure appelante.ATTENTION, en VBA ByRef est la valeur par défaut, au contraire de la plupart des langages de programmation.
- ByVal indique que si la valeur du paramètre est modifiée dans la procédure, cela n’affecte pas sa valeur dans la procédure appelante.
- ParamArray Indique que le paramètre suivant est un tableau. ParamArray ne peut précéder que le dernier paramètre de la liste.
- Nom nom du paramètre, respectant les règles des noms de variables.
- type type du paramètre.
- défaut constante initialisant un paramètre optionnel (Optional)
Type Type de la valeur retournée par la procédure Function.
instructions Tout groupe d’instructions à exécuter dans la procédure Function
expression Valeur retournée par la procédure Function.
Exit Function Instruction VBA permettant de terminer l’exécution de la procédure avant la fin.
End Function Instruction délimitant la fin de la procédure Function.
Une procédure Function:
Retourne une valeur.
Ne doit pas modifier la feuille de travail.
Ne doit pas afficher de boîte de dialogue.
Ne peut être utilisée que dans une formule Excel ou une procédure VBA.