Bonjour,

Je poste ici un petit point de blocage dans une macro.

J'explique un peu ce que j'ai sur mon fichier. D'un côté, j'ai un range avec des références (une centaine, toutes différentes).

Je souhaite filtrer tout d'une traite sur un onglet contenant toutes mes données.

Ma démarche pour le moment, est de venir stocker les données de mon Range dans une variable de type Array.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
ReDim myArray(f)
 
        For i = flagFirstRow To flagLastRow
 
            If Left(Cells(i, 4), 4) = "NEFA" Then
                myArray(i - flagFirstRow) = Cells(i, 5)
            End If
        Next i
 
        Sheets("Data").Activate
        Range("A1").AutoFilter Field:=idrow9, Criteria1:=myArray, Operator:=xlFilterValues
Ce code fonctionne parfaitement bien si la "capsule" array contient des valeurs qui ont un match exact avec le champ sur lequel je fais mon filtre.

Cependant, les valeurs de mon Range par exemple "0021CF15", ne vont pas matcher exactement avec ce que j'ai dans mon onglet data, par exemple "0021CF15-LBO015".
Ainsi le filtre fait sur la variable array ne remonte rien.

Comment est ce que je peux faire en sorte que le filtre soit réalisé sur un critère de match approximatif?

Je sais qu'il existe des syntaxe avec quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Range("A1").AutoFilter Field:=idrow9, Criteria1:="*=" & "0021CF15", Operator:=xlFilterValues
Mais je ne vois pas comment combiner cela avec le myArray.

Merci, A dispo pour tout complément d'info si besoin.