Sub TriDyn()
Dim DLig As Long
' Avec la feuille du nom : "Feuil1" du classeur actif
With ActiveWorkbook.Worksheets("Feuil1")
' Mémoriser le numéro de la dernière ligne remplie de la colonne C
DLig = .Range("C" & Rows.Count).End(xlUp).Row
' Sur Excel 2007, avec l'objet Sort
With .Sort
.SortFields.Clear
' 1er Critère de tri, le nom
.SortFields.Add Key:=Range("C2:C" & DLig), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
' 2ème critère de tri, le prénom
.SortFields.Add Key:=Range("D2:D" & DLig), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A1:D" & DLig)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub