Sub Macro1()
Dim Plage As Range
Set Plage = Intersect(ActiveSheet.[B:F], Selection.EntireRow)
Plage.Columns(4).FormulaR1C1 = "=IF(LEFT(RC2,5)=""ST - "",RC4,R[-1]C)"
Plage.Columns(5).FormulaR1C1 = "=IF(LEFT(RC2,5)=""ST - "",ROW(),R[-1]C)"
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Plage.Columns(4), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Plage.Columns(5), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Plage.Columns(3), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
.SetRange Plage
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Plage.Columns(4).Resize(, 2).ClearContents
End Sub