Filtre élaboré multicritères en VBA

Bonjour le forum,

Une foie de plus, je viens demander vos conseils avertis. Ma demande concerne un code pour le filtre élaboré multicritères suivant:

Zone à filtrer: A20:E131

Zone de critère: A1:E18

Unique: False

Extraction: sur place

J'ai ce code qui ne fonctionne pas:

Dim DerLig As Long
DerLig = Range("A1:E18").Find("*", , , , xlByRows, xlPrevious).Row
Range("A20:E131").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A1:E18" & DerLig), Unique:=False

Si quelqu'un saurait me dire où est mon erreur...

Merci d'avance,

Simon

Bonsoir,

Faudrait vérifier la zone de critères qui me parait bizarre,

normalement c'est sur 2 ou 3 lignes

déjà ceci serait + près

    DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Range("A20:E" & DerLig).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("A1:E2"), Unique:=False

Amicalement

Claude

Bonsoir Claude et merci de ta prompt réponse.

C'est vrai que les exemples dont j'ai pu m'inspirer étaient sur deux ou trois lignes.

Dans mon cas, une des colonne peut comporter 8 critères différents. Ne serait-ce pas possible de filtrer la liste avec eux??

Ci joint un fichier exemple pour une meilleur idée de mon projet.

Merci d'avance,

Simon

re,

Non, au lieu de 8 lignes de critères, tu peux faire des listes de choix

une liste "Bâtiment", "étage", "etat" etc ...

Envoie un fichier un peu plus représentatif

Claude

Bonsoir Claude, le forum,

Excusez moi d'avoir laissé ce fil quelque jours malgré vos réponses. J'ai été débordé ce début de semaine.

Ci joint, un fichier avec la liste que je souhaiterais filtrer et l'userform avec les listes de critères.

J'espère que cela vous donnera une meilleur vision de ce que j'aimerai faire et vous permettra de m'aider.

Merci d'avance,

Simon

Bonjour Simon, forum,

Un exemple sans UserForm inutile

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("b5:g5")) Is Nothing Then
'Macros par Claude Dubois pour "OncleBarney" Excel-Pratique le 17/12/10
        Application.ScreenUpdating = False
            On Error Resume Next
            ActiveSheet.ShowAllData
            On Error GoTo 0
        Range("base").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("b4:g5"), Unique:=False
        Rows(6).Hidden = True
        Application.Goto Range("a7"), Scroll:=True
        Target.Activate
    End If
End Sub

Amicalement

Claude

Bonjour Claude et merci de ton aide.

Malheureusement ton fichier ne correspond pas à ma recherche. En effet, il n’autorise qu'un seul critère "bâtiment" par exemple. Je ne peux donc pas lister les appartements des bâtiments A et B en même temps...

Dans mon userform, j'avais choisi des listes à choix multiplie pour effectuer un filtre du style:

Afficher les appartements des Bâtiments B ET C ET des Étages 1 ET 2 (seulement des bat B et C) et dont l'état est DEP OU REC (seulement ceux des bat B et C étage 1 et 2)

Je ne sais pas si je suis très claire...

A te lire,,

Simon

Rechercher des sujets similaires à "filtre elabore multicriteres vba"