Je viens néanmoins de tester ta Macro, mais celle-ci renvoi une erreur dans cette ligne :
.Range(Cells(7, 2), Cells(DerniereLigne, 35)).Sort Key1:=.Range("AG7") _
, Order1:=xlDescending, Key2:=Range("AH7"), order2:=xlDescending, Key3:=Range("AI7"), order3:=xlAscending, Header:=xlYes
Pour information, voilà ma Macro reçue de Theze et qui fonctionne correctement :
Sub Tri()
Dim Plage As Range
With Worksheets("Classement Fidèlité")
.Unprotect
'redéfini la plage à partir de B7
Set Plage = .Range(.Cells(7, 2), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(7, .Columns.Count).End(xlToLeft).Column))
'tri
Plage.Sort Plage.Columns(32), xlDescending, Plage.Columns(33), , xlDescending, Plage.Columns(34), xlDescending, xlNo
.Protect
End With
End Sub
Merci en tout cas de votre aide les amis ; un forum top.