NicolleauElise
Messages postés16Date d'inscriptionlundi 21 octobre 2002StatutMembreDernière intervention20 novembre 2002
-
20 nov. 2002 à 17:36
ennixo
Messages postés224Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention17 juin 2006
-
5 nov. 2003 à 16:38
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 ...
:blush)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 20 nov. 2002 à 17:53
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... ;-(
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 20 nov. 2002 à 17:53
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... ;-(
ennixo
Messages postés224Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention17 juin 2006 5 nov. 2003 à 16:38
le fait que la variable passée par référence puisse être affectée est une chose mais il faut mettre en évidence le fait qu'une variable passée par valeur est donc forcément copiée vers une autre variable crée spécialement pour ça puis détruite lorsqu'on quitte la fonction. lorsqu'une boucle appelle une fonction beaucoup de fois, il est donc préférable, lorsque c'est possible de passer les paramètres par référence de manière à avoir un programme plus rapide.
mais il faut retenir aussi que lorsqu'une fonction n'est pas appellée des milliers (ou plus) de fois, passer les paramètres par référence ne changera pas de manière visible la rapidité du programme.