Public Sub TriListe()
Dim l As Long
With Feuil2
l = .Range(a(i) & 2000).End(xlUp).Row '2000 à adapter si plus de ligne
.Range(.Cells(3, a(i)), .Cells(l, a(i)).Offset(, 3)) _
.Sort Key1:=.Cells(3, a(i)), Order1:=xlAscending, Key2:=.Cells(3, a(i)).Offset(, 1) _
, Order2:=xlAscending, Key3:=.Cells(3, a(i)).Offset(, 2), Order3:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
End With
End Sub