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.
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 :
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.
Partager