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 2 R S = 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 1 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 2 3. crire la fonction dans le module VBA Le code dune fonction commence toujours par : Funct i on Le nom de la fonction est ensuite indiqu, par exemple : Sur f aceCer cl e (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 : Funct i on Sur f aceCer cl e ( Rayon) Appuyer sur la touche Entre. L'diteur ajoute immdiatement une ligne vide et la dernire ligne de la fonction :
End Funct i on
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 = Appl i cat i on. Wor ksheet et Funct i on. Pi
Revue Modulad, 2006 Numro 34 3 Pi = 4*At n( 1) 3.2 Deuxime instruction On indique la relation mathmatique en langage VBA : Sur f aceCer cl e = Pi * Rayon * Rayon La fonction se termine par : End Funct i on
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 4
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 Funct i on 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.