Bonjour à tous.
J'ai un problème de transmission de variable entre un Sub et une Function. Je simplifie :

- Dans un module où je déclare toutes mes variables récurentes, j'ai déclaré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Public Argument1 As String
- Dans un formulaire, j'ai un bouton qui actionne le Sub Bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub Bouton_Click()
Call SubModule("Le texte")
End Sub
- Ce Sub appelle donc un deuxième Sub, appelé SubModule, qui est rangé dans un module séparé et qui a comme argument obligatoire Argument1. Si je teste, pas de problème, Argument1 est bon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub SubModule(Argument1 As String)
MsgBox Argument1
End Sub
renvoie bien une MsgBox avec "Le texte"

Mais il se trouve qu'en fait ce SubModule utilise une fonction qui a pour but de modifier Argument1 si besoin est (ici je vous épargne le If) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub SubModule(Argument1 As String)
MsgBox Argument1
FoncModification
MsgBox Argument1
End Sub
Avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Function FoncModification
Argument1 = Argument1 & " MODIFIÉ"
End Function
Et alors là, Argument1 ne s'est pas transmis de SubModule à FoncModification : ça retourne dans la deuxième MsgBox " MODIFIÉ" alors qu'il devrait mettre "Le texte MODIFIÉ", ce qui montre que dans la Function, Argument1 est Null parce qu'il n'a pas été transmis.

Quelqu'un peut-il m'aider svp ?