[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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25410602
Bonjour,
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


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
MichD
Le #25410732
Bonjour,

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
Le #25460222
Merci MichD ça fonctionne très bien !!!

@+
HD
Publicité
Poster une réponse
Anonyme