clarifier mon code ? sub ? function ? je m'y perd....
4 réponses
Alfred WALLACE
Bonjour :-)
j'ai une sub toto() .... end Sub qui est tres long....
J'aurais aim=E9 facilit=E9 la lecture de ces lignes en mettant une
partie du code
dans des routines....
je pensais que cel=E0 s'emboitais comme =E7=E0 :
Sub Principal()
.=2E..
.=2E.
.=2E.
Fonct_xxxx
.=2E.
.=2E.
.=2E.
end Sub
function Fonct_xxx()
.=2E.
.=2E.
End Function
bon, on dirait que c'est pas =E7=E0.... comment je peux d=E9placer des
blocs de code
en les appelant simplement par leur nom, pour =E9claircir mon code ??
Tu peux même te passer d'écrire Call, mais pour la relecture c'est pa s plus mal de l'avoir...
Ca marche ?
CAP2
ben, j'ai crée des sub.
dans un module à part.
Mais je ne vois pas trop la différence.
Merci. José
CAP2
Salut,
ne pédalerait-on pas dans la semoule ? (Note que c'est de saison ;o))
Si au sein d'une Sub tu veux lancer l'exécution d'une autre Sub, il faut mettre ça en place comme ça :
Sub princ()
call Test
End Sub
'--------------
Sub Test() zzzzzzzzz End Sub
avec ta Sub Test dans le même module ou un autre, peu importe...
Fais attention à une chose, une Sub mets en place un traitement, tandis qu'une Function a pour but de renvoyer un résultat (comme une fonction Excel...).
Donc si dans une Sub tu veux utiliser une Function qui va te calculer quelquechose en fonction de tes arguments, il faut stocker la valeur résultant de ta fonction dans une variable...
Ca donne un truc du style :
Sub princ() Dim resultat
resultat=Test(arguments)
End Sub
'--------------
Function Test(ici tes arguments de fonction)
Test = ici le calcul que ta fonction doit mettre en place
End Function
Tu vois mieux la différence entre Sub et Function ?
CAP2
Salut,
ne pédalerait-on pas dans la semoule ? (Note que c'est de saison ;o))
Si au sein d'une Sub tu veux lancer l'exécution d'une autre Sub, il faut
mettre ça en place comme ça :
Sub princ()
call Test
End Sub
'--------------
Sub Test()
zzzzzzzzz
End Sub
avec ta Sub Test dans le même module ou un autre, peu importe...
Fais attention à une chose, une Sub mets en place un traitement, tandis
qu'une Function a pour but de renvoyer un résultat (comme une fonction
Excel...).
Donc si dans une Sub tu veux utiliser une Function qui va te calculer
quelquechose en fonction de tes arguments, il faut stocker la valeur
résultant de ta fonction dans une variable...
Ca donne un truc du style :
Sub princ()
Dim resultat
resultat=Test(arguments)
End Sub
'--------------
Function Test(ici tes arguments de fonction)
Test = ici le calcul que ta fonction doit mettre en place
End Function
Tu vois mieux la différence entre Sub et Function ?
ne pédalerait-on pas dans la semoule ? (Note que c'est de saison ;o))
Si au sein d'une Sub tu veux lancer l'exécution d'une autre Sub, il faut mettre ça en place comme ça :
Sub princ()
call Test
End Sub
'--------------
Sub Test() zzzzzzzzz End Sub
avec ta Sub Test dans le même module ou un autre, peu importe...
Fais attention à une chose, une Sub mets en place un traitement, tandis qu'une Function a pour but de renvoyer un résultat (comme une fonction Excel...).
Donc si dans une Sub tu veux utiliser une Function qui va te calculer quelquechose en fonction de tes arguments, il faut stocker la valeur résultant de ta fonction dans une variable...
Ca donne un truc du style :
Sub princ() Dim resultat
resultat=Test(arguments)
End Sub
'--------------
Function Test(ici tes arguments de fonction)
Test = ici le calcul que ta fonction doit mettre en place
End Function
Tu vois mieux la différence entre Sub et Function ?