Sub Tri()
Dim nom, nlot%, coldest%, nlig%
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
Application.Calculation = xlCalculationManual 'calcul manuel
nom = [B7].Resize(50)
For nlot = 1 To 50
coldest = 6 * nlot + 51
Cells(7, coldest).Resize(50) = nom
Cells(7, coldest + 1).Resize(50) = Cells(7, nlot + 3).Resize(50).Value
Cells(7, coldest).Resize(50, 2).Sort Cells(7, coldest + 1), xlAscending, Header:=xlNo 'tri
nlig = Application.Count(Cells(7, coldest + 1).Resize(50))
If nlig < 50 Then Cells(7, coldest).Offset(nlig).Resize(50 - nlig) = "" 'efface les noms sans montant
Cells(7, coldest + 2).Resize(50) = ""
If nlig > 1 Then Cells(7, coldest + 2) = Cells(8, coldest + 1) - Cells(7, coldest + 1)
Next
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True 'réactive les évènements
End Sub