Sub Essai()
Dim col As Byte, lg1&, lg2&, lg3&, chn$, k As Byte
lg3 = 16: Application.ScreenUpdating = 0
With Worksheets("Décompte_heures").ListObjects("Total")
.DataBodyRange.ClearContents
For col = 5 To 8
For lg1 = 3 To 14
chn = Cells(lg1, col)
If chn <> "" Then
k = 0
For lg2 = 17 To lg3
If Cells(lg2, 2) = chn Then k = 1: Exit For
Next lg2
If k = 0 Then
lg3 = lg3 + 1: Cells(lg3, 2) = chn
End If
End If
Next lg1
Next col
With .Sort
.SortFields.Clear: .SortFields.Add Range("B16:B" & lg3), 0, 1
.Header = 1: .MatchCase = 0: .Apply
End With
End With
End Sub