Bonjour,
j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
l = Application.WorksheetFunction.Match(shtDest.[beginVirtualTradeColValeurId].Offset(lLi, 0).Value, _
                shtDest.[IssuesColBloombergSedol], 0)
qui fonctionne bien, mais j'aimerais encapsuler Application.WorksheetFunction.Match dans une fonction pour gérer ses erreurs.

J'utilise alors :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Function MatchCol(stSeekedVal As String, rgValues As Range) As Long
 
On Error GoTo error_MatchCol
    MatchCol = Application.WorksheetFunction.Match(stSeekedVal, rgValues, 0)
 
    Exit Function
 
error_MatchCol:
    MatchCol = -1
End Function
Mais j'ai toujours une erreur quand j'appelle cette fonction avec les mêmes valeurs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
l = MatchCol(shtDest.[beginVirtualTradeColValeurId].Offset(lLi, 0).Value, _
                shtDest.[IssuesColBloombergSedol])
Impossible de lire la propriété Match de la classe WorksheetFunction.
Je n'arrive pas à comprendre pourquoi la même fonction fonctionne toute seule et ne focntionne plus une fois encapsulée dans une autre fonction.

Quelqu'un aurait-il une idée ?

Merci