Function / Macro

juju782

XLDnaute Nouveau
Bonjour,

J'ai étudié les macros, et la on commence a faire les programmes avec "function"
Si j'ai bien compris , il faut rentrer la macro en 1er et puis après le programme avec "function"?
Par exemple on a fait:

Sub macro
Dim longue As integer
Dim larg As integer
Longue= Inputbox("Entrez la longueur")
Larg=Inputbox("entrez la largeur")
Msgbox("Le perimetre est " &perimetre(long,larg))
End sub

Function perimetre (longue As integer, larg As integer) As integer
perimetre=2*(longue+larg)
End function

J'ai plusieurs question :

Pourquoi dans le programme de la macro on a pas définition ce qu'était le perimetre ? c'est parce qu'on la définition ds "function" ?

Mais le programme function sert a quoi ? car on aurait pu definir le perimetre dans la macro ?
 

wilfried_42

XLDnaute Barbatruc
Re : Function / Macro

re:

la fonction peut aussi etre utilisée directement dans la feuille
Code:
Function perimetre ([COLOR="red"]Byval[/COLOR] longue As integer, [COLOR="Red"]Byval[/COLOR] larg As integer) As integer
[COLOR="red"]application.volatile[/COLOR] ' Pour un recalcul automatique
perimetre=2*(longue+larg)
End function
Code:
=perimetre(5;7)
ou encore
Code:
=perimetre(A1;B1)
Edit : Bonjour jacques excuse pour la collision
 

MichelXld

XLDnaute Barbatruc
Re : Function / Macro

bonjour


Pourquoi dans le programme de la macro on a pas définition ce qu'était le perimetre ? c'est parce qu'on la définition ds "function" ?
oui c'est ça.
par contre dans ton exemple il manque un espace entre le symbole & et l'appel de la fonction:

Code:
Msgbox("Le perimetre est " & perimetre(long,larg))

Mais le programme function sert a quoi ? car on aurait pu definir le perimetre dans la macro ?
Effectivement, tu aurais pu le definir dans la macro.
Une fonction permet de renvoyer une valeur et peut facilement etre réutilisée dans un autre projet par un simple copier/coller
et
être utilisée comme fonction dans la feuille de calcul:

Les fonctions personnelles dans Excel - Club d'entraide des développeurs francophones



bonne journée
michel
 

juju782

XLDnaute Nouveau
Re : Function / Macro

Ok merci

Une autre chose

L'ennoncé de mon exo etait le suivant:

Exercice 3
Ecrire une fonction Perimetre(Largeur, Longueur) qui calcule le périmètre d’un rectangle. Ecrire une macro qui demande à l’utilisateur d’entrer la largeur et la longueur d’un rectangle et affiche le périmètre.
Ecrire dans une feuille excel un tableau :
largeur longueur
3 cm 10cm
5cm 8cm
63cm 20cm

Utiliser la fonction Perimetre pour calculer dans la colonne suivante le périmètre des rectangles sur chaque ligne.


j'ai donc fais le programme que je vous ai ecrit ci dessus

Mais en rentrant ce dernier dans la cellule ("inserer fonction ..") dans excel ca ne marche pas :s
 

BOISGONTIER

XLDnaute Barbatruc
Re : Function / Macro

Insertion/fonction/Perso

=perimetre(A1;B1)


Code:
Sub macro()
Dim longue As Integer
Dim larg As Integer
longue = InputBox("Entrez la longueur")
larg = InputBox("entrez la largeur")
MsgBox ("Le perimetre est " & perimetre(longue, larg))
End Sub

Function perimetre(longue As Integer, larg As Integer) As Integer
perimetre = 2 * (longue + larg)
End Function
JB
 

Discussions similaires


Haut Bas