Bonsoir
une approche à placer dans un objet feuille :
Public Sub vev()
Dim i As Integer, l As Integer
Dim ws As Object
Dim c As Range
Dim feuille As String
Application.ScreenUpdating = False
feuille = ActiveSheet.Name
i = 1
For Each ws In Worksheets
Range("a" & i).Value = ws.Name
i = i + 1
Next ws
Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
l = 1
For Each c In Range("a1:a" & Range("a65000").End(xlUp).Row)
Sheets(c.Text).Move after:=Worksheets(l)
l = l + 1
Next c
Sheets(feuille).Move before:=Worksheets(1)
Application.ScreenUpdating = True
End Sub
On passe par l'écriture sur la feuille active, du nom des feuilles, puis on les trie et ensuite on les range.
on doit pouvoir éviter l'écriture du nom des feuilles, en passant par un tableau (si ca t'intérresse, fait le savoir).
Salut
Hervé