Sub Tri_par_nom()
For Each ws In ActiveWorkbook.Sheets
Application.DisplayAlerts = False
If ws.Name <> ActiveSheet.Name Then ws.Delete
Application.DisplayAlerts = True
Next
Set d = CreateObject("Scripting.Dictionary")
For Each cel In Range("U10:U" & Range("U65000").End(xlUp).Row)
If Not d.exists(cel.Value) Then d.Add cel.Value, cel.Value
Next
Tbl = d.items
For i = 0 To UBound(Tbl)
x = i
For k = x + 1 To UBound(Tbl)
If Tbl(k) <= Tbl(x) Then x = k
Next k
If i <> x Then
y = Tbl(x): Tbl(x) = Tbl(i): Tbl(i) = y
End If
Next i
Application.ScreenUpdating = False
For i = 0 To UBound(Tbl)
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Tbl(i)
With Sheets("Suivi général")
.Rows("1:9").Copy ActiveSheet.Range("A1") 'est on obligé de tout copier ?
.Range("A9").AutoFilter Field:=21, Criteria1:=Tbl(i)
Set fplage = .AutoFilter.Range
fplage.Copy ActiveSheet.Range("A9")
.AutoFilterMode = False
End With
ActiveSheet.Columns.AutoFit
Next
Application.ScreenUpdating = True
End Sub