Macro pour filtrer puis défiltrer ne fonctionne pas

chris6999

XLDnaute Impliqué
Bonjour

J'ai dans le fichier joint une macro pour filtrer sur une valeur saisie dans la cellule D5.
Ce filtre fonctionne par contre lorsque je supprime la valeur dans cette cellule, le filtre reste actif au lieu d'afficher toutes les lignes.
Je viens de me rendre compte que c'est à cause de la fusion de D5 et E5...
Comment puis-je contourner ce problème.
Merci d'avance
Cordialement


Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Suivi priorités")
' Si modification de la cellule D5 : cellule où on saisit la valeur recherchée
If Target.Address(0, 0) = "D5" Then
' Si la cellule contient une valeur
If Target.Value <> "" Then
' Filter sur cette valeur
'A11:j11 ligne où se trouvent les étiquettes du filtre
Range("A11:J11").AutoFilter Field:=2, Criteria1:="=*" & Target.Value & "*"
'Field = 2 : recherché de la valeur dans la colonne 2
Else
' Supprimer le filtre
Range("A11:j11").AutoFilter Field:=2
End If
End If
End With
End Sub
 

Pièces jointes

  • test filtre.xls
    61.5 KB · Affichages: 72
  • test filtre.xls
    61.5 KB · Affichages: 77
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Macro pour filtrer puis défiltrer ne fonctionne pas

Salut Chris6999 ;)

Tu peux faire comme ça
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  With Sheets("Suivi priorités")
    ' Si modification de la cellule dans l'intersection D5:E5
    If Not Intersect(Target, Range("D5:E5")) Is Nothing Then
      ' Si la cellule contient une valeur
      If Range("D5").Value <> "" Then
        ' Filter sur cette valeur
        'A5:C5 ligne où se trouvent les étiquettes du filtre
        Range("A11:I11").AutoFilter Field:=2, Criteria1:="=*" & Target.Value & "*"
        'Field = 1 : recherché de la valeur dans la colonne 1
      Else
        ' Supprimer le filtre
        Range("A11:I11").AutoFilter Field:=2
      End If
    End If
  End With
End Sub

A+
 

Discussions similaires