Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Mathématiques financières (3ième édition)
  3. Une première fonction en Visual Basic
Extrait - Mathématiques financières (3ième édition) Construisez votre bibliothèque de fonctions avec VBA Excel
Extraits du livre
Mathématiques financières (3ième édition) Construisez votre bibliothèque de fonctions avec VBA Excel
1 avis
Revenir à la page d'achat du livre

Une première fonction en Visual Basic

Introduction

Comme dans la plupart des langages de programmation, une fonction en Visual Basic est composée de quatre parties. La première partie concerne la déclaration de la fonction et de ses paramètres. La seconde partie concerne la déclaration des variables utilisées dans l’algorithme de la fonction. La troisième partie est l’algorithme de calcul de la fonction. En fin de fonction il y a le renvoi de la ou des valeurs calculées et la fermeture de la fonction. 

Pour illustrer notre propos, vous allez construire une fonction simple mais qui vous sera utile pour la suite, il s’agit d’une fonction pour tester si une année est bissextile ou non.

L’éditeur Visual Basic

Les fonctions et les macros se réalisent en utilisant l’éditeur Visual Basic pour application.

  • S’il n’est pas visible, vous devez ajouter l’onglet Développeur sur le ruban. Pour ce faire, allez dans l’onglet Fichier, choisissez Options, puis personnaliser le ruban. Cliquez alors sur Développeur qui se trouve dans les onglets principaux. L’éditeur visual Basic se lance à partir de l’onglet Développeur. Il peut également être lancé par la combinaison de touches AltF11 (touches Alt et F11 utilisées simultanément).

  • Les fonctions et macros s’écrivent sur un document appelé module. Pour ajouter un module à votre fichier, il faut dans l’éditeur Visual Basic, choisir le menu Insertion puis Module.

Vous pouvez maintenant commencer à travailler.

Déclaration de la fonction

 Dans un module avant même de commencer la fonction, vous allez préciser une option importante :


Option Explicit
 

Cette option va vous obliger à déclarer toutes les variables que vous utiliserez. Elle vous évitera bien des erreurs, principalement de frappe. Elle est valable pour l’ensemble des fonctions et macros de ce module.

 Vous allez maintenant déclarer votre fonction.


Function ESTAnneeBissextile(iAnnee As Integer) As Boolean
 

Le premier mot, Function, est obligatoire. Il indique à Visual Basic que vous commencez la déclaration d’une fonction. Il est suivi du nom de la fonction, ici ESTAnneeBissextile. Entre les parenthèses vous indiquez les paramètres utilisés par la fonction, séparés par des virgules. Ici, vous avez besoin que d’un seul paramètre, l’année pour répondre à la question "Est-ce une année bissextile ?".

Un nom de fonction ou un nom de paramètre est libre, mais il est préférable de respecter certaines conventions. Il doit rappeler le contenu du paramètre ou le rôle de la fonction, il doit utiliser des majuscules et des minuscules et pour les paramètres il faut rappeler leur type.

Dans cet exemple, le nom du paramètre iAnnee, rappelle qu’il contiendra l’année, il commence par la lettre...

Déclaration des variables

La deuxième partie d’une fonction concerne la déclaration des variables utilisées pour les calculs. Dans cette fonction vous utiliserez une variable bReponse de type booléen, que vous initialiserez à faux.


Dim bReponse As Boolean 
    bReponse = False
 

Le mot clef Dim indique à Visual Basic que vous allez déclarer une ou des variables séparées par une virgule, il est suivi du nom de la variable du mot clef As puis du type de la variable.

Algorithme

Vous allez maintenant passer à l’algorithme de la fonction. Une visite du site Wikipedia à  l’adresse suivante, http://fr.wikipedia.org/wiki/Bissextile, vous apprend qu’une année bissextile est divisible par 4, mais que les années divisibles par 100 ne sont pas bissextiles, sauf si elles sont divisibles par 400.

L’opérateur Mod

L’opérateur Mod permet de connaître le reste d’une division.

Par exemple, pour affecter le reste de la division de 2000 par 4 (soit 0) à une variable, il faut écrire :


Nom de la variable=2000 Mod 4
 

L’instruction clef If

Le mot clef If permet de tester une condition. Si la condition est vraie alors un certain groupe de commandes est réalisé, sinon on en réalise un autre.

Sa syntaxe la plus courante est la suivante :


If condition Then 
     {Commandes à réaliser quand la condition est vraie} 
Else 
     {Commandes à réaliser quand la condition est fausse} 
End if
 

S’il n’y a pas de code à exécuter lorsque la condition est fausse, alors la syntaxe est :


If condition Then 
     {Commandes à réaliser quand la condition est vraie} 
End if
 

Il est possible d’imbriquer plusieurs If. Dans ce cas il faut être attentif à bien fermer l’ensemble des...

Fermeture de la fonction

La dernière partie de la fonction permet de renvoyer la valeur calculée et de fermer la fonction.


ESTAnneeBissextile = bReponse 
End Function
 

La fonction prend la valeur de la variable bReponse. La formule End Function indique à Visual Basic que nous avons fini la définition de notre fonction.

Au final, le code est le suivant :


Function ESTAnneeBissextile(iAnnee As Integer) As Boolean 
    '////////////////////////////////////////////////////////// 
    ' Cette fonction détermine si une année est bissextile. 
    ' Elle retourne True (vrai ou -1) si l'année comporte 366 jours, 
    ' False (faux ou 0) sinon. 
    ' 
    ' Le mode de détermination des années bissextile est expliqué sur: 
    ' http://fr.wikipedia.org/wiki/Bissextile 
    '////////////////////////////////////////////////////////// 
     
    Dim bReponse As Boolean                 'Valeur renvoyée 
    bReponse = False 
     
    If iAnnee Mod 4 = 0 Then 
        '////////////////////////////////////////////////////////// 
        'Les années divisibles par 4 sont bissextiles ...

Tester votre première fonction

 Sur l’onglet Formules, dans Options de calcul, assurez-vous d’être en calcul Automatique.

 Pour tester cette fonction, placez-vous sur une feuille de calcul et tapez dans la cellule A1, une année par exemple, 2015. Dans la cellule A2, appelons votre fonction :

IMAGES/01SOB01.png

La fonction renvoie la valeur "FAUX" :

IMAGES/01SOB02.png

 Si en A1 vous rentrez la valeur 2016, la fonction renvoie maintenant la valeur "VRAI".