Sub TriFeuilles2()
Dim i%, nom1$, nom2$, t1$, t2$
Application.ScreenUpdating = False
1 For i = 1 To Sheets.Count - 1
nom1 = LCase(Sheets(i).Name)
nom2 = LCase(Sheets(i + 1).Name)
t1 = "1" & class(nom1): t2 = "1" & class(nom2)
If nom1 Like "r?capitulatif*" Then t1 = "0"
If nom2 Like "r?capitulatif*" Then t2 = "0"
If nom1 Like "remplacement*" Then t1 = "2" & Format(Val(Mid(nom1, 13)), "000")
If nom2 Like "remplacement*" Then t2 = "2" & Format(Val(Mid(nom2, 13)), "000")
If t1 > t2 Then
Sheets(i).Move After:=Sheets(i + 1)
GoTo 1
End If
Next
End Sub
Function class$(nom$)
Dim i%
nom = Trim(nom)
For i = Len(nom) To 1 Step -1
If Not IsNumeric(Mid(nom, i, 1)) Then Exit For
Next
If i Then
class = Left(nom, i) & Format(Val(Mid(nom, i + 1)), "000")
Else
class = Format(Val(nom), "000")
End If
End Function