Premier code en VBA : fonction et procédure

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

cliquez sur le bouton de l'onglet Développeur

* Puis insérez un nouveau module que vous appellerez DCG

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 :

chaîne de caractères: string

réel : single

entier : integer

date : date

range : plage de cellule

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 :

exécuter la procédure comme vous pouvez le faire avec une macro (bouton macro, sélectionner la procédure info et l'exécuter).
* affecter la procédure info() à un bouton.

Pour affecter la procédure à un bouton :

créez un bouton sur votre feuille en cliquant sur le bouton de l'onglet Développeur

utilisez l'outil bouton pour dessiner votre bouton

associez la procédure info() (la macro) à votre bouton.

Renommez votre 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 : WorkbookOpen). 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

Excel et VBA (Visual Basic pour Application)