Question auto filtre
K
Bonjour a tous deja mes meilleurs voeux pour les fetes
voila je voulais savoir si il etais possible de remplacer le .EntireRow.Hidden = False par un autofiltre sur ma fonction vba
If Not Intersect(Target, Range("I6:I65")) Is Nothing Then
If Cells(Target.Row, 9) = "X" Then
Cells(Target.Row, 9) = ""
For Each f In Sheets(Array("HJanvier", "Janvier", "BJanvier"))
If f.Range("A6") = "Jours" And f.Range("A8") = Range("X26") Then
For i = 9 To 65
If f.Range("A" & i) = Cells(Target.Row, 8).Value Then
f.Rows(i & ":" & i).EntireRow.Hidden = False
End If
Next i
End If
Next f
Else
Cells(Target.Row, 9) = "X"
For Each f In Sheets(Array("HJanvier", "Janvier", "BJanvier"))
If f.Range("A6") = "Jours" And f.Range("A8") = Range("X26") Then
For i = 9 To 65
If f.Range("A" & i) = Cells(Target.Row, 8).Value Then
f.Rows(i & ":" & i).EntireRow.Hidden = True
End If
Next i
End If
Next f
End If
j'ai une autre fonction pour un travaille qui ce complete qui elle fonctionne en auto filtre mais elle etais plus simple a faire
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim WS As Worksheet
Dim wss As Worksheet
For Each WS In Sheets(Array("HJanvier", "HFevrier", "HMars", "HAvril", "HMai", "HJuin", _
"HJuillet", "HAout", "HSeptembre", "HOctobre", "HNovembre", "HDecembre", _
"BJanvier", "BFevrier", "BMars", "BAvril", "BMai", "BJuin", _
"BJuillet", "BAout", "BSeptembre", "BOctobre", "BNovembre", "BDecembre", _
"Bilan"))
If Not Intersect(Target, Range("H5:H69")) Is Nothing Then
WS.Unprotect "azerty"
WS.Range("$A$8:$A$67").AutoFilter Field:=1, Criteria1:="<>", Visibledropdown:=False
WS.Protect ("azerty"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFiltering:=True
End If
Next WS
For Each wss In Sheets(Array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", _
"Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"))
If Not Intersect(Target, Range("H5:H69")) Is Nothing Then
wss.Unprotect "azerty"
wss.Range("$A$8:$A$67").AutoFilter Field:=1, Criteria1:="<>", Visibledropdown:=False
wss.Protect ("azerty"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFiltering:=True
End If
Next wss
Application.ScreenUpdating = True
End Sub
merci d'avance