Re,
Oui on peut en trouver, comme celui-ci
Public Sub TrierFeuilles()
Dim j As Integer
Dim i As Integer
Dim PremiereFeuille As Integer
Dim DerniereFeuille As Integer
' En cas d'erreur on affiche un message et on sort
On Error GoTo TriErreur
'
PremiereFeuille = 1
DerniereFeuille = ActiveWorkbook.Worksheets.Count
For i = PremiereFeuille To DerniereFeuille
For j = i To DerniereFeuille
If UCase(SupDiacritique(Worksheets(j).Name)) < UCase(SupDiacritique(Worksheets(i).Name)) Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next j
Next i
Exit Sub
TriErreur:
MsgBox "Une erreur c'est produite", vbExclamation, "OUPS ..."
End Sub
Function SupDiacritique(Texte As String)
Dim LettreD As String
Dim LettreN As String
Dim TexteTemporaire As String
Dim i As Long
Const LettresDiacritique = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
Const LettresNormales = "AAAAAACEEEEIIIINOOOOOUUUUYYaaaaaaceeeeiiiinooooouuuuyy"
TexteTemporaire = Texte
For i = 1 To Len(LettresDiacritique)
LettreD = Mid(LettresDiacritique, i, 1)
LettreN = Mid(LettresNormales, i, 1)
TexteTemporaire = Replace(TexteTemporaire, LettreD, LettreN)
Next
SupDiacritique = TexteTemporaire
End Function
A+