Incompréhension Byref VBA
bonjour,
voici le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Sub Test()
Dim Donnee As Integer
Donnee = 50
MaProcedure_1 Donnee
MsgBox Donnee
MaProcedure_2 Donnee
MsgBox Donnee
MaProcedure_3 Donnee
MsgBox Donnee
End Sub
'Passe la référence en argument.
Sub MaProcedure_1(ByRef x As Integer)
x = x * 4
End Sub
'Passe la valeur en argument.
Sub MaProcedure_2(ByVal y As Integer)
y = y * 5
End Sub
'ByRef est la valeur par défaut si non spécifiée.
Sub MaProcedure_3(z As Integer)
z = z * 2
End Sub |
la propriété ByRef me parait encore trop abstraite, d'abord je ne comprends pas la deuxième procédure qui renvoi la valeur 200 alors qu'on a : y = y * 5, y prend la valeur de 50 , non?
ensuite pour la troisième procédure nous renvoi la valeur de 400 , j'en déduis donc que la valeur de z a repris le dernier résultat (en l’occurrence ici le résultat de notre deuxième procédure qui est de 200), est ce bien cela?
Thanks a lot!