تمام شكرا اخي بارك الله فيك بس لو امكن نغير ده تتنازلي لو امكن
Sub Tri_Total_column()
'ترتيب تنازلي
Dim clé() As String, index() As Long, Rng As Range
a = [C11:J38].Value: Set Rng = [c11]
Dim b()
ReDim b(LBound(a) To UBound(a), LBound(a, 2) To UBound(a, 2))
Set rCrit = CreateObject("System.Collections.Sortedlist")
For i = LBound(a) To UBound(a)
rCrit.Add a(i, 7) & i, i
Next i
For tmp = LBound(a) To UBound(a)
For arr = LBound(a, 2) To UBound(a, 2)
b(tmp, arr) = a(rCrit.GetByIndex(tmp - 1), arr)
Next arr
Next tmp
Rng.Resize(UBound(b), UBound(b, 2)).Value2 = b
End Sub