bonjour,

voici le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!