Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bul
"comme toujours" tout est dans l'aide
ByVal Facultatif. Indique que l'argument est passé par valeur. Moyen permettant de passer à une procédure la valeur d'un argument plutôt que son adresse. La procédure peut de ce fait accéder à une copie de la variable. La valeur réelle de cette dernière n'est donc pas modifiée par la procédure à laquelle elle est passée.
ByRef Indique que l'argument est passé par référence. ByRef est l'option par défaut dans Visual Basic. Moyen permettant de passer à une procédure l'adresse d'un argument plutôt que sa valeur. La procédure peut ainsi accéder à la variable proprement dite. La valeur réelle de cette dernière peut, de ce fait, être modifiée par la procédure à laquelle elle a été passée. Par défaut, les arguments sont passés par référence. @+
"comme toujours" tout est dans l'aide
ByVal Facultatif. Indique que l'argument est passé par valeur.
Moyen permettant de passer à une procédure la valeur d'un argument plutôt
que son adresse. La procédure peut de ce fait accéder à une copie de la
variable. La valeur réelle de cette dernière n'est donc pas modifiée par
la procédure à laquelle elle est passée.
ByRef Indique que l'argument est passé par référence. ByRef est l'option
par défaut dans Visual Basic.
Moyen permettant de passer à une procédure l'adresse d'un argument plutôt
que sa valeur. La procédure peut ainsi accéder à la variable proprement
dite. La valeur réelle de cette dernière peut, de ce fait, être modifiée
par la procédure à laquelle elle a été passée. Par défaut, les arguments
sont passés par référence.
@+
ByVal Facultatif. Indique que l'argument est passé par valeur. Moyen permettant de passer à une procédure la valeur d'un argument plutôt que son adresse. La procédure peut de ce fait accéder à une copie de la variable. La valeur réelle de cette dernière n'est donc pas modifiée par la procédure à laquelle elle est passée.
ByRef Indique que l'argument est passé par référence. ByRef est l'option par défaut dans Visual Basic. Moyen permettant de passer à une procédure l'adresse d'un argument plutôt que sa valeur. La procédure peut ainsi accéder à la variable proprement dite. La valeur réelle de cette dernière peut, de ce fait, être modifiée par la procédure à laquelle elle a été passée. Par défaut, les arguments sont passés par référence. @+
Christian HUBERT-HUGOUD- Xtrem7
Tu peux utiliser ByRef lorsque tu souhaites que ta fonction ou ta procédure modifie la valeur des paramètres que tu lui a passés. Sinon utilise ByVal
ByRef demande à être très vigilant sur l'utilisation des paramètres à l'intérieur des fonctions et procédures. ByRef est plus rapide que ByVal.
Christian
"Titeuf" a écrit dans le message de news:%
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel cas on utilise ByVal ?
Merci
Tu peux utiliser ByRef lorsque tu souhaites que ta fonction ou ta procédure
modifie la valeur des paramètres que tu lui a passés. Sinon utilise ByVal
ByRef demande à être très vigilant sur l'utilisation des paramètres à
l'intérieur des fonctions et procédures. ByRef est plus rapide que ByVal.
Christian
"Titeuf" <zititeuf@no-spam.org> a écrit dans le message de
news:%23mN8YEXcEHA.2504@TK2MSFTNGP12.phx.gbl...
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel
cas on utilise ByVal ?
Tu peux utiliser ByRef lorsque tu souhaites que ta fonction ou ta procédure modifie la valeur des paramètres que tu lui a passés. Sinon utilise ByVal
ByRef demande à être très vigilant sur l'utilisation des paramètres à l'intérieur des fonctions et procédures. ByRef est plus rapide que ByVal.
Christian
"Titeuf" a écrit dans le message de news:%
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel cas on utilise ByVal ?
Merci
ng
Salut,
ByVal : envoie uniquement la valeur (contenu de la variable) à la fonction. ByRef : passe le pointeur (la référence) cad l'adresse mémoire de la variable à la fonction.
Exemple :
Public Sub Test1(ByVal strArg As String) strArg = "Salut" End Sub
Public Sub Test2(ByRef strArg As String) strArg = "Salut" End Sub
Private Sub Form_Load() Dim strVar As String strVar = "ma valeur" Call Test2(strVar) '//passage de la valeur uniquement Call MsgBox(strVar) '//Aucun changement Call Test1(strVar) '//passage de l'adresse Call MsgBox(strVar) '//la procédure a pu modifier la variable par son adresse End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Titeuf a écrit :
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel cas on utilise ByVal ?
Merci
Salut,
ByVal : envoie uniquement la valeur (contenu de la variable) à la fonction.
ByRef : passe le pointeur (la référence) cad l'adresse mémoire de la
variable à la fonction.
Exemple :
Public Sub Test1(ByVal strArg As String)
strArg = "Salut"
End Sub
Public Sub Test2(ByRef strArg As String)
strArg = "Salut"
End Sub
Private Sub Form_Load()
Dim strVar As String
strVar = "ma valeur"
Call Test2(strVar) '//passage de la valeur uniquement
Call MsgBox(strVar) '//Aucun changement
Call Test1(strVar) '//passage de l'adresse
Call MsgBox(strVar) '//la procédure a pu modifier la variable par son
adresse
End Sub
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Titeuf <zititeuf@no-spam.org> a écrit :
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans
quel cas on utilise ByVal ?
ByVal : envoie uniquement la valeur (contenu de la variable) à la fonction. ByRef : passe le pointeur (la référence) cad l'adresse mémoire de la variable à la fonction.
Exemple :
Public Sub Test1(ByVal strArg As String) strArg = "Salut" End Sub
Public Sub Test2(ByRef strArg As String) strArg = "Salut" End Sub
Private Sub Form_Load() Dim strVar As String strVar = "ma valeur" Call Test2(strVar) '//passage de la valeur uniquement Call MsgBox(strVar) '//Aucun changement Call Test1(strVar) '//passage de l'adresse Call MsgBox(strVar) '//la procédure a pu modifier la variable par son adresse End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Titeuf a écrit :
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel cas on utilise ByVal ?
Merci
Pierre Alexis [MVP]
Salut Titeuf,
Tu as écrit :
Quelqu'un peut-il m'expliquer dans quel cas on utilise ByRef et dans quel cas on utilise ByVal ?
Merci
Question 23 - Quelle est la différence entre les mots-clés "ByVal" et "ByRef" ? http://faq.vb.free.fr/index.php?question#