[VBA] Filtre multicritère
Le
HD

Bonjour,
Je veux faire un filtre avec critère multiple sur une colonne mais le
critère multiple provient des données d'une feuille et le nombre de critère
peut être variable. J'ai donc créer cette macro :
filtre=""
i
Do
If filtre = "" Then
filtre = Chr(34) & Sheets("Param").Cells(i, 7).Value & Chr(34)
Else
filtre = filtre & "," & Chr(34) & Sheets("Param").Cells(i,
7).Value & Chr(34)
End If
i = i + 1
Loop Until Sheets("Param").Cells(i, 7).Value = ""
Selection.AutoFilter Field:=9, Criteria1:=Array(filtre),
Operator:=xlFilterValues
Mais cela ne passe pas avec le Array Lorsque je regarde le résultat je
n'ai aucune données de filtrées.
Comment faire ?
Vous remerciant d'avance,
Cordialement,
HD
Je veux faire un filtre avec critère multiple sur une colonne mais le
critère multiple provient des données d'une feuille et le nombre de critère
peut être variable. J'ai donc créer cette macro :
filtre=""
i
Do
If filtre = "" Then
filtre = Chr(34) & Sheets("Param").Cells(i, 7).Value & Chr(34)
Else
filtre = filtre & "," & Chr(34) & Sheets("Param").Cells(i,
7).Value & Chr(34)
End If
i = i + 1
Loop Until Sheets("Param").Cells(i, 7).Value = ""
Selection.AutoFilter Field:=9, Criteria1:=Array(filtre),
Operator:=xlFilterValues
Mais cela ne passe pas avec le Array Lorsque je regarde le résultat je
n'ai aucune données de filtrées.
Comment faire ?
Vous remerciant d'avance,
Cordialement,
HD
Dim Tablo(3) As String
Tablo(0) = "a1"
Tablo(1) = "a2"
Tablo(2) = "a3"
Tablo(3) = "a4"
ActiveSheet.Range("$A$1:$A$13").AutoFilter Field:=1, Criteria1:=Tablo,
Operator:=xlFilterValues
Cordialement.
Daniel
Un petit exemple :
Ceci n'est pas disponible pour les versions Excel antérieures
à Excel 2007.
'---------------------------------------------
Sub test()
Dim x(), B As Long
For a = 2 To 8 Step 2
B = B + 1
ReDim Preserve x(1 To B)
x(B) = Range("A" & a).Value
Next
Range("A1:A20").AutoFilter field:=1, Criteria1:=Array(x),
Operator:=xlFilterValues
End Sub
'---------------------------------------------
MichD
---------------------------------------------------------------
"HD" a écrit dans le message de groupe de discussion :
kn2miq$1l0p$
Bonjour,
Je veux faire un filtre avec critère multiple sur une colonne... mais le
critère multiple provient des données d'une feuille et le nombre de critère
peut être variable. J'ai donc créer cette macro :
filtre=""
i
Do
If filtre = "" Then
filtre = Chr(34) & Sheets("Param").Cells(i, 7).Value & Chr(34)
Else
filtre = filtre & "," & Chr(34) & Sheets("Param").Cells(i,
7).Value & Chr(34)
End If
i = i + 1
Loop Until Sheets("Param").Cells(i, 7).Value = ""
Selection.AutoFilter Field:=9, Criteria1:=Array(filtre),
Operator:=xlFilterValues
Mais cela ne passe pas avec le Array... Lorsque je regarde le résultat je
n'ai aucune données de filtrées.
Comment faire ?
Vous remerciant d'avance,
Cordialement,
HD
@+
HD