SIMPLEMENT :
Le passage d'une variable par valeur(byval...) n'est pas modifié par la procédure (sub ou fonction) vers laquelle elle pointe.
C'est exaxtement le contraire pour une variable passé par référence(byRef) !
EXEMPLE :
'BEGIN
Option Explicit
Dim OrgVar As Integer
Private Sub Form_Load()
byrefFnc OrgVar
MsgBox OrgVar
OrgVar = 50
byValFnc OrgVar
MsgBox OrgVar
End Sub
Function byrefFnc(ByRef value As Integer)
value = 60
'La valeur passé par référence vaut 60...
End Function
Function byValFnc(ByVal value As Integer)
value = value + 10
'la valeur par valeur vaut toujours 50...
End Function
'END
@+
'-----------------------------------------------
Réponse au message :
-------------------------------
Salut Elise,
Il n'y a aucune honte à avoir de ne pas connaître la différence, et je pense que beaucoup de VBéistes ne la conaissent pas.
Alors c'est tout simple, il suffit de comprendre ce que çà veux dire en anglais :
ByVal : par valeur, c'est-à-dire que tu envoie une valeur comme paramètre à ta fonction.
ByRef : par référence, c'est-à-dire que tu envoie la référence de la variable à ta fonction.
Donc, pour résumer : Quand tu utilise ByVal, la variable d'origine n'est pas affectée par les changements, ce qui n'est pas le cas avec ByRef.
J'espère avoir été assez clair. (ce qui n'est peut-être pas une explication simple... ;-(
DARK SIDIOUS
-------------------------------
Réponse au message :
-------------------------------
Salut !
Je suis débutante en VB et je voudrais que quelqu'un m'explique (simplement) la différence entre ByVal et ByRef pour passer les arguments en paramètre. C'est peut-être évident pour beaucoup d'entre vous, alors désolée ...
