gawel Posté(e) le 21 juillet 2004 Posté(e) le 21 juillet 2004 Salut à tous, j'ai énormément de code qui revient fréquemment dans mon programme, et il s'agit toutjours de la même chose. Etant novice dans le VB, je sollicite votre aide pour me montrer comment créer une Function reprenons le code du sujet précédent (Filelist est un tableau de type chaine): Dim i, intTmp, x As IntegerDim TriFini, PasFini As Boolean TriFini = False'--------------------Do While TriFini = False 'faire tant que le tri n'est pas finiFor i = 0 To UBound(FileList) - 1If FileList(i) > FileList(i + 1) Then'------------------permutationintTmp = FileList(i)FileList(i) = FileList(i + 1)FileList(i + 1) = intTmp'------------------PasFini = True'si on ne repasse plus ici'PasFini sera = à False (cf plus bas)End IfNext iIf PasFini = False ThenTriFini = TrueExit Do '-------------------------fin iciEnd If'On réinitialise la valeur PasFiniPasFini = FalseLoop'------------------------------------------------- comment feriez-vous pour transformer ce code en une fonction ?? merci d'avanceGawel
Pako Posté(e) le 22 juillet 2004 Posté(e) le 22 juillet 2004 Je ne sais pas si en VB et en VBA s'est identique, mais en VBA c'est comme suit : Public Function nomFonction( tesParamètres) Dim tesVariables as ..... ton code....... End Function l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
gawel Posté(e) le 22 juillet 2004 Auteur Posté(e) le 22 juillet 2004 merci Pako, j'ai vu aussi que l'on pouvait appeler une fonction en mettant: sub nomfonction(paramètres)dim variables code end sub et après on l'appelait par un call; est-ce que ce procédé fonctionne à l'identique ? Gawel
Enael Posté(e) le 11 août 2004 Posté(e) le 11 août 2004 Salut Pour ce qui est de ta question sur le mode de fonctionnement des deux types de fonctions, en fait il y a une différence. La solution dont tu parles (gawel) n'est pas une fonction mais une procédure. Tu me diras et alors c'est quoi la différence. Ben la différence est dans el mode de traitement. Pour une procédure, tu peux ou non lui passé des données en paramètres et elle peut ou non te retourner une ouplusieurs variables.La solution de pako est belle et bien une fonction : tu lui passe des données en paramètre et elle te retourne une variable. Bon ca c'est pour le théorie. Moi perso, je ne me sert quasiment jamais des fonctions (enfin jai jamais appris leur utilité) et en utilisant que des procédure ca marche très bien et il me semble que tu as de plus grandes possibilités. Bien sur je peux me tromper et si c'est le cas n'hésitez pas à me le faire remarquer. Enael
Enael Posté(e) le 11 août 2004 Posté(e) le 11 août 2004 Ah oui j'oubliais : Tu n'es pas oubligé de faire un call pour appeller une procédure, tu peux juste mettre son nom et ca marche aussi bien. Pour une fonction je ne sais pas si ca marche (jamais testé) mais ca doit etre pareil aussi je pense. Voila Enael
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant