Problème avec Application.Index VBA

Bonjour,

J'ai une erreur d’exécution de type 13 pour cette ligne "C1 = Application.Match(.CBX_Critère, Application.Index(R, 1), 0)" dans le code suivant:

Dim i As Integer, R(), T As String, C1 As Integer

Sub Filtrer_List()
Dim j As Integer, Tbl()
R = GL.Range("A2:G" & GL.[A65000].End(xlUp).Row)

With USF
T = .TXT_Critère
C1 = Application.Match(.CBX_Critère, Application.Index(R, 1), 0)
With .LST_Ecritures
For i = 2 To UBound(R)
If UCase(Left(R(i, C1), Len(T))) Like T Then
j = j + 1
ReDim Preserve Tbl(1 To UBound(R, 2), 1 To j)

End If
Next i
If j <> 0 Then .Column = Tbl Else .Clear
End With
End With
End Sub

Pouvez-vous m'éclairer?

Par avance merci!

Bonsoir,

Cela signifie que la recherche n'a pas abouti. Vous pouvez programmer ainsi:

On Error Resume Next
C1 = 0
C1 = Application.Match(.CBX_Critère, Application.Index(R, 1), 0)
On Error GoTo 0
if C1 > 0 Then .....

C1 = 0 quand la recherche n'aboutit pas.

Par ailleurs, pensez à utiliser la balise "</>" pour afficher du code. C'est plus lisible.

Bonjour et d'abord merci pour votre retour!

Seulement je n'arrive pas à appliquer votre conseil. Je suis en apprentissage sur VBA ce qui explique mes difficultés... Je vous mets mon fichier à disposition, peut-être que de cette manière il vous sera plus facile de m'aider.

L'objectif de ma requête est le suivant: Pouvoir filtrer les données de l'onglet "Grand Livre" depuis le formulaire FRM_Fltr. Le code que j'ai pour l'instant écrit (et qui ne fonctionne pas) se trouve dans le module 2 et dans le formulaire en question.

Merci par avance pour votre retour.

14filtrer.zip (228.08 Ko)

Bonjour,

J'ai revu vos références de nom pour qu'elles correspondent aux lignes renseignées de vos tableaux, ce qui facilite l'écriture du code.

ci-jointe nouvelle version

64filtrer.zip (223.18 Ko)

NB: renommage module2 en filtrage

Bonjour,

Cela marche parfaitement je vous remercie!

Rechercher des sujets similaires à "probleme application index vba"