Filtre VBA Doubleclick

Bonjour,

Voici la macro qui me pose problème :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

ElseIf Not Intersect(Target, Range("E:E")) Is Nothing Then

' Si le 2click ne se fait pas dans la colonne E, alors rien sinon :

Sheets("Avenant").Select

' Sélectionne l'onglet Avenant

ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1, Criteria1:=[Intersect(Target, Range("A:A")], Operator:=xlAnd

'Filtrer la colonne 1 de l'objet Tableau3 en utilisant le critère Cellule à l'intersection de la colonne A et de la ligne sur laquelle je double clique

Comme vous l'avez deviné, c'est au niveau du critère de filtre que je sèche... Connaissez vous la solution?

Bien cordialement,

Bonjour,

Avec cela ?

ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1, Criteria1:=Cells(Target.Row, 1).Value, Operator:=xlAnd

Bonjour,

Essaie :

ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1, Criteria1:=Target.value

Dans la négative, joins un fichier !

Cdlt.

Bonjour à tous,

J'ai essayé vos 2 solutions, malheureusement ça ne fonctionne pas..

Pour rappel je voudrais que le double clique sur une cellule de la colonne "Avenant" de l'onglet "Convention" me filtre tous les avenants (onglet Avenant) dont le N°SI correspond à celui de la ligne sur laquelle j'ai cliqué.

Voici le fichier TEST.

Merci pour votre aide,

Avec Criteria1:=Cells(Target.Row, 1).Value

Re oyobrans,

Ca marche niquel! A tout les coup j'avais mal recopié ton code la première fois ...

Sujet clos, merci

Re,

Pour rappel, une question bien formulée trouve réponse.

A tester.

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ws As Worksheet, lo As ListObject
Dim x As String

    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Me.ListObjects(1).ListColumns(5).DataBodyRange) Is Nothing Then
        Cancel = True
        x = Target.Offset(, -4).Value
        Set ws = ActiveWorkbook.Worksheets("Avenant")
        Set lo = ws.ListObjects(1)
        lo.Range.AutoFilter field:=1, Criteria1:=x
    End If

End Sub

Re Jean-Eric

Effectivement ma question n'était pas super bien formulée au départ, merci pour ta réponse!

Nairda

bonjour,

desolé mais je reveille ce post car ma question est relativement similaire...

sur mon onglet 'exemple', si je double-clique sur 15 (F7), j'aimerai que l'onglet 'year(A2)'! (2018) s'ouvre et soit filtré par C7 dans la colonne "B" et F2 dans la colonne 'date de A2'....

j'ai commencé par mon onglet

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
fin = .Range("C" & .Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("D4:I & fin")) Is Nothing Then
Exit Sub
Else
Call filtres_etat
End If

End Sub

puis mon module 2

Sub filtres_etat()
Dim L As String, C As String
feuille = Year(A2)
L = Range.Row
C = Range.Column
lettre = Range(C & "3")
D = CDate(A2)
modele = Range("C" & L).Value

With Sheets("" & feuille & "")
pos = Application.Match(CLng(D), .Rows(6).Value2, 0)            'trouve la colonne de date
ActiveWorkbook.Worksheets("" & feuille & "").AutoFilter.Sort.SortFields.Clear      ' nettoie les filtres
Range("$A$7:$NT$279").AutoFilter Field:=pos, Criteria1:=lettre          'filtre dans la colonne la lettre
Range("$A$7:$NT$279").AutoFilter Field:=2, Criteria1:=modele
End With

End Sub

si qqun peut m'aiguiller...

22tableau-demo-v1.xlsm (802.44 Ko)
Rechercher des sujets similaires à "filtre vba doubleclick"