Sub Filtrer()
Dim col%, w As Worksheet, deb As Range
col = 4 'numéro d'ordre de la colonne à filtrer
Set w = Sheets("hs")
With ActiveSheet
Set deb = .Cells.Find("date", , xlValues, xlPart)
If .Name = w.Name Or deb Is Nothing Then Exit Sub
With deb.CurrentRegion
If .Columns.Count < col Then Exit Sub
Application.ScreenUpdating = False
w.Cells.Clear 'RAZ
.AutoFilter col, "<>" 'filtre automatique
.Copy w.[A1] 'copier-coller
End With
If .FilterMode Then .ShowAllData 'affiche tout
End With
w.[A1].CurrentRegion.Sort w.Columns(col), xlAscending, Header:=xlYes 'tri (comme mentionné)
w.Columns.AutoFit 'ajustement largeur
With w.UsedRange: End With 'actualise les barres de défilement
w.Activate 'facultatif
End Sub