Salut a tous!

Je viens de remarquer quelque chose d'etrange a propos de worksheetfunction.match.
Quand on utilise une variable tableau en tant qu'array de recherche, la fonction semble avoir une limite.
Exemple simple:
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
option explicit
Sub TestMatchFctTab()
Dim i As Long
Dim tb(200000) As String
Dim xyz As Single
 
 
    For i = 0 To 200000
        tb(i) = i & "x"
    Next i
 
    xyz = fcttestmtb(tb)
    Debug.Print xyz
 
End Sub
 
Function fcttestmtb(tbx() As String) As Single
 
    fcttestmtb = WorksheetFunction.Match(3392 & "x", tbx, 0)
 
End Function
Pas d'erreur, le debug.print nous donne bien une valeur, ok.
Maintenant si on met 3393 dans la fonction a la place de 3392, cela ne marche plus et pour toutes les valeurs >3392 on obtient l'erreur 1004.

Je n'arrive absolument pas a comprendre pourquoi cela s'arrete a 3392.
Le pire est que si je mets ces valeurs dans les cellules d'un worksheet et que je remplace dans ma fonction Match ma variable tableau tbx par la colonne ou j'ai mis les valeurs, et bien la ca marche...

Si vous avez une explication a ceci, je serais tres interesse!
Merci!