Aller au contenu

comment créer une fonction ?


Messages recommandés

Posté(e)

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 Integer

Dim TriFini, PasFini As Boolean

 

TriFini = False

'--------------------

Do While TriFini = False 'faire tant que le tri n'est pas fini

For i = 0 To UBound(FileList) - 1

If FileList(i) > FileList(i + 1) Then

'------------------permutation

intTmp = 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 If

Next i

If PasFini = False Then

TriFini = True

Exit Do '-------------------------fin ici

End If

'On réinitialise la valeur PasFini

PasFini = False

Loop

'-------------------------------------------------

 

 

comment feriez-vous pour transformer ce code en une fonction ??

 

merci d'avance

Gawel

Posté(e)

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

Posté(e)

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

  • 3 semaines après...
Posté(e)

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

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité