signification byval

saadmechiche

XLDnaute Junior
Bonjour , j'aimerai savoir ce que signifie byval ; je la constate dans beaucoup de fonction
Merci
 
C

Compte Supprimé 979

Guest
Re : signification byval

Salut,

Un petit clique sur "?" pour l'aide de Visual Basic et je trouve :
Utilisé avec ces objets, ByVal réfère à un objet et non à une méthode de passation de paramètres. Chacun des objets cités ci-dessus a une propriété Value que vous pouvez définir. Vous pouvez également passer cette valeur vers ou à partir d'une fonction. Comme vous pouvez modifier la valeur des membres de l'objet, les événements produisent des résultats cohérents avec le comportement de ByRef, même si la syntaxe de l'événement indique que le paramètre est ByVal.

Si cela peut te convenir ;)
 

MichelXld

XLDnaute Barbatruc
Re : signification byval

bonsoir

Un exemple en complément de la réponse de Bruno:

Code:
Sub Test()
    Dim Donnee As Integer
    
    Donnee = 1
    
    MaProcedure_1 Donnee
    MsgBox Donnee
    
    MaProcedure_2 Donnee
    MsgBox Donnee
    
    MaProcedure_3 Donnee
    MsgBox Donnee
End Sub

'Passe la référence en argument:
'(la donnée initiale sera modifiée et prendra la  valeur
'résultant de l'argument).
'C'est la variable 'Donnee' qui est transmise à la sous procédure.
'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.
Sub MaProcedure_1(ByRef x As Integer)
    x = x * 2
End Sub

'Passe la valeur en argument:
'(la donnée initiale ne sera pas modifiée)
'C'est une copie de la variable qui est transmise à la sous procédure.
'La valeur réelle de cette dernière n'est donc pas modifiée par la procédure à laquelle
'elle est passée.
Sub MaProcedure_2(ByVal y As Integer)
    y = y * 2
End Sub

'ByRef est la valeur par défaut si elle n'est pas spécifiée.
Sub MaProcedure_3(z As Integer)
    z = z * 2
End Sub


Bonne soirée
MichelXld
 
Dernière édition:

Discussions similaires

Réponses
29
Affichages
959

Statistiques des forums

Discussions
312 325
Messages
2 087 306
Membres
103 513
dernier inscrit
adel.01.01.80.19