Sie sind auf Seite 1von 5

Comment crer

et utiliser une fonction


Henry P. AUBERT
Jacques GOUPY
Si, dans une cellule d'une feuille Excel, lon utilise souvent la mme formule
mathmatique, il est possible den faire une fonction Excel que lon rappellera quand
on en aura besoin.

1. Exemple
Si lon doit souvent dterminer la surface S dun cercle connaissant son rayon R, on
peut crer une fonction Excel qui sera utilise dans une cellule. La formule
mathmatique est

S = R2
On pourrait entrer la relation mathmatique dans chaque cellule Excel (Figure 1 )
=PI()*B4^2

Figure 1 : On peut calculer la surface dun cerle connaissant son rayon avec une formule
EXCEL.

Revue Modulad, 2006

Numro 34

Mais on peut aussi crer une fonction faisant automatiquement ce calcul. Cette
technique savre trs utile quand la fonction mathmatique est complique.

Figure 2 : On peut aussi calculer la surface dun cerle connaissant son rayon avec une
fonction EXCEL.

La fonction doit tre crite en VBA dans le module d'un classeur.


La premire chose faire est donc d'ouvrir un classeur Excel, puis de crer un
module de lditeur de Macros.

2. Cration dun module de lditeur de macros


Pour crer un module, appuyez simultanment sur les deux touches Alt et F11 ou
effectuez les oprations suivantes :
 Cliquez sur le Menu Outils du menu principal.
 Dans le menu droulant qui apparat, slectionnez Macro
 Dans le nouveau menu droulant qui apparat, slectionner Visual Basic Editor
(Alt + F11)
L'diteur, intitul "Microsoft Visual Basic", s'ouvre.
 Appuyer simultanment sur les touches CTRL et R. L'explorateur de projet
s'ouvre.
 Slectionner le classeur dans lequel la fonction doit tre cre (classeur perso.xls
ou un fichier Excel ouvert)
 Cliquez sur le Menu Insertion du menu principal.
 Dans le menu droulant qui apparat, slectionnez Module
Vous obtenez une fentre "Classeur 1-Module1 (Code)" dans laquelle vous devez
crire le code de la fonction.

Revue Modulad, 2006

Numro 34

3. crire la fonction dans le module VBA


Le code dune fonction commence toujours par :
Function
Le nom de la fonction est ensuite indiqu, par exemple :
SurfaceCercle
(Attention le nom est sensible la casse).
Le nom de la fonction est obligatoirement suivi de parenthses
()
Entre les parenthses, on indique le ou les lments dont elle a besoin pour
fonctionner. Ces lments sappellent Argument . Ici, le calcul de la surface
ncessite la connaissance du rayon du cercle. L'argument est donc le rayon du cercle.
Taper :
Function SurfaceCercle (Rayon)
Appuyer sur la touche Entre. L'diteur ajoute immdiatement une ligne
vide et la dernire ligne de la fonction :
End Function
On peut indiquer ensuite des commentaires sur la fonction. Ici on a mis lauteur, la
date de cration et une explication succincte de la fonction. Ces informations sont
prcdes dune apostrophe pour signaler quil ne sagit pas de code. On crit
ensuite les instructions.

Figure 3 : A gauche, fentre Projet-VBAProject avec la sous-rubrique Module1 et


droite, fentre SurfaceCercle.xls Module1 (Code) .

3.1 Premire instruction


On indique quil y a une constante et que cette constante sappelle Pi et quelle vaut
3,14159265358979. Cette instruction est crite en language VBA :
Const Pi = 3.14159265358979
Remarque : On peut aussi utiliser des fonctions intgres au langage Visual Basic ou
faire calculer par la machine, au choix :
Pi = Application.WorksheetetFunction.Pi

Revue Modulad, 2006

Numro 34

Pi = 4*Atn(1)
3.2 Deuxime instruction
On indique la relation mathmatique en langage VBA :
SurfaceCercle = Pi * Rayon * Rayon
La fonction se termine par :
End Function
La fonction est automatiquement enregistre avec son nom et elle est prte
fonctionner. Vous revenez au classeur Excel en appuyant simultanment sur les deux
touches Alt et F11.

4. Utiliser la fonction cre


Slectionnez la cellule o vous dsirez voir apparatre la surface du cercle (ici, D5).
 Cliquez sur Insersion du Menu principal et dans le menu droulant qui apparat,
cliquez sur Fonctions ou cliquez directement sur licne des fonctions.
Vous obtenez la fentre Insrer une fonction . Vous choisissez la catgorie
Personnalises et dans "Slectionner une fonction :" vous choisissez
SurfaceCercle :

Figure 4 : Fentre Insrer une fonction qui permet de choisir la fonction voulue.

 Cliquez sur le bouton OK


Vous obtenez une fentre intitul "Arguments de la fonction". Ici, elle vous demande
le rayon. Vous indiquez la cellule qui contient le rayon (ici, B5).

Revue Modulad, 2006

Numro 34

 Cliquez sur le bouton OK


Le rsultat sinscrit dans la cellule choisie, ici D5.

Figure 5 : Fentre Argument de la fonction qui permet de dfinir la cellule sur laquelle
porte le calcul.

5. Ajouter de nouvelles fonctions


La premire fonction tant cre, on peut en ajouter d'autres. Du classeur Excel,
revenir la fentre "Microsoft Visual Basic" en appuyant simultanment sur les
deux touches Alt et F11, puis :
 Cliquez sur le Menu Affichage du menu principal. Dans le menu droulant qui
apparat choisisssez Code pour obtenir le "Classeur 1-Module1 (Code)" o la
premire fonction a t enregistre.
Ajouter la nouvelle fonction aprs la ligne End Function de la fonction
prcdente. Un trait trait vient automatiquement la sparer de la premire. On peut
aussi ajouter la nouvelle fonction avant celle qui existe dj.

Fichier Excel associ : SurfaceCercle.xls

Revue Modulad, 2006

Numro 34