Sub Test()
Dim DLig As Long
' Déprotéger la feuille
ActiveSheet.Unprotect
' Récupérer la dernière ligne du tableau
DLig = .Range("B" & Rows.Count).End(xlUp).Row
' Effectuer le tri sur l'ensemble du tableau
Range("B5:H" & DLig).Sort Key1:=Range("H5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' re-protéger la feuille avec l'option RI
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowSorting:=True
End Sub