salut,

je ne sais pas si c'est sur ma version d'access 2002 SP2 ou c'est normal, en tout cas pour moi ca me parait curieux:

si je transmet une variable par Sub compris entre parenthèses : il n'y a pas de répercution sur la variable d'origine.
voila le code:
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
Sub proc2(maval2 As Variant)
maval2 = "nouveau message de proc2"
End Sub
 
Function func1(maval3 As Variant)
maval3 = "nouveau message de func1"
End Function
 
Public Sub proc1()
Dim maval, r As Variant
maval = "message original"
 
proc2 (maval)   'curieux -> maval conserve sa valeur après proc2
MsgBox maval
 
r = func1(maval) 'normal: maval ne conserve plus sa valeur après func1
MsgBox maval
 
proc2 maval     'normal: maval ne concerve plus sa valeur après proc2
MsgBox maval
 
func1 maval     'normal: maval ne conserve plus sa valeur après func1
MsgBox maval
End Sub