Bonjour,

Je souhaite faire une fonction qui me renvoie la valeur d'une cellule particulière dans un classeur que je passe en paramètre. J'ai fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function recupererLaDate(ByVal classeur As Workbook) As String
    'Renvoie : la date qu'on récupère dans le classeur passé en paramètre
    'Hypothèse : il faut que le classeur soit déjà ouvert
 
    classeur.Worksheets(1).Range("A2").Value
End Function
 
Sub testRecupererLaDate()
    'Teste : la fonction recupererLaDate()
 
    Dim classeur As Workbook
    Set classeur = Workbooks("Allocation aout 2010.xls")
    MsgBox recupererLaDate(classeur)
End Sub
Mais la fonction test ne fonctionne pas. En revanche ce code fonctionne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Sub testRecupererLaDate2()
    'Teste : la fonction recupererLaDate()
 
    Dim classeur As Workbook
    Set classeur = Workbooks("Allocation aout 2010.xls")
    MsgBox classeur.Worksheets(1).Range("A2").Value
End Sub
Alors qu'a priori, les deux codes doivent être équivalents, non ?

Je vous remercie par avance de votre réponse.