Je ne procéderais pas comme tu l'as fait toutefois, j’utiliserais plutôt un filtre avancé comme ceci :
Sub filtrer()
Application.CutCopyMode = False
Sheets("Reporting").Range("A4:L1000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B1:C2"), CopyToRange:=Range("A4:L4"), Unique:=False
End Sub
Sub trier()
Range("A4").Select
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("A4"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveSheet.Sort
.SetRange Range("A5:L" & Cells(Rows.Count, 1).End(xlUp).Row)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
et sur chaque feuille
Private Sub Worksheet_Activate()
filtrer
trier
End Sub