Bonjour,
Je possède un fichier excel contenant un tableau filtrant automatiquement en fonction de la valeur d'une cellule, quelqu'un de ce forum (désolé d'avoir oublié son nom) m'a fournis ce code qui marche à merveille !
Private Sub Worksheet_Change(ByVal Target As Range)
Me.Unprotect "2311"
Set isect = Application.Intersect(Target, Range("G$2"))
If Not isect Is Nothing Then Call Filtre_G5
End Sub
Sub Filtre_G5()
With Sheets("Liquide")
crt = .Range("$G$2").Value
If crt <> "" And Not IsError(Application.Match(crt, .Range("A:A"), 0)) Then
.Range("$A$7:$T$7").AutoFilter Field:=1, Criteria1:="=" & .Range("$G$2").Value, Operator:=xlAnd
Else
.Range("$A$7:$T$7").AutoFilter Field:=1
End If
End With
Me.Protect "2311"
End Sub
Mon soucis : mes besoins ont changés depuis lors, désormais la cellule G2 qui et utilisé pour entrer la valeur qui permet le tri automatique, doit contenir une formule.
Or avec ce VBA, le tri ne fonctionne pas si j'utilise une formule en G2, la valeur prise en compte est surement la formule en elle même et non le résultat.
J'aimerais donc que le tri se fasse en fonction du résultat de cette formule en G2.
J'ai eu beau chercher une solution sur le net, impossible de résoudre mon problème, je m'en remet donc à vous...