Table des matières

Premier code en VBA : fonction et procédure

Ouvrez l'éditeur de VBE (Visual Basic Editor) :

Créer votre première fonction

Vous allez créer dans le module DCG une fonction tva() qui va renvoyer la valeur 1.2

Dans VBE, saisissez le code suivant

Public Function tva()
	tva = 1.2
End Function

Pour renvoyez une valeur, il suffit d'utiliser le nom de la fonction et de lui affecter une valeur : tva = 1.2

Pour utiliser cette nouvelle fonction, écrivez dans la cellule A1 de votre feuille =tva() ou utilisez-la dans une formule de calcul.

Créer une fonction, avec des paramètres

Vos fonctions peuvent utiliser des paramètres. Ecrivez cette fonction politesse() et tester la.

Public Function politesse(nom as string)
	politesse = "Bonjour " + nom
End Function 

La fonction apparaît comme une fonction d'Excel et puisqu'il y a un paramètre, l'assistant vous propose de sélectionner la cellule de la feuille qui contient la valeur du paramètre à utiliser.

Les types de données les plus courants

Voici les types de données que vous pouvez utiliser avec VBA :

Créer votre première procédure

Créez la procédure info() qui affiche une boite de dialogue en utilisant la fonction politesse précédente.

Sub info()
   Dim texte as String 
   texte=politesse("Charles")
   MsgBox texte, vbInformation, "info"
End Sub

Remarque : la fonction MsgBox est utilisée pour afficher le résultat de la fonction politesse().

Pour exécuter cette procédure vous pouvez :

Pour affecter la procédure à un bouton :

Par défaut les procédures sont publiques et vous pouvez le mentionner explicitement ce qui définit l’étendue de son utilisation :

Public Sub info()
  ...
End Sub 

Le mot-clé Private indique que la procédure ne peut être appelée que par les procédures de son module.

Private Sub info()
  ...
End Sub

Appeler une procédure dans une fonction ou une autre procédure

L'appel d'une procédure se fait avec l'instruction call.

Exemple de l'appel de la procédure info() par une autre procédure :

Sub TestAppelInfo() 
  Call info 
End Sub

Pour en savoir plus : Les procédures événementielles

La procédure précédente était une procédure générale, déclarée dans un module et appelée explicitement dans le code.

Une procédure événementielle est associée à un événement d’un objet. Son nom est composé du nom de l’objet, suivi du caractère souligné “_” et du nom de l’événement (ex : Workbook_Open). L’appel d’une telle procédure est implicite, c’est-à-dire que la procédure est exécutée automatiquement lorsque l’événement associé se produit.

Retour au menu de Excel & VBA