litelsousa
XLDnaute Occasionnel
Bonjour,
Je n'arrive pas à classer mes feuilles selon le principe suivant (elles sont déjà nommées directement selon la valeur d'une cellule):
PK 0.125 +
PK 1.25 +
PK 1.25 -
PK 10.258 -
Pk 13.450 +
Pk 13.450 -
Pk 123.450 -
J'aimerais que ce classement soit établi selon:
1° le PK
2° les "+" et "-".
J'ai trouvé divers code, celui-ci est celui qui s'applique le mieux à mon cas
mais lorsqu'il y a du texte devant les chiffre, ça repasse en classement PK 2 - PK 20 - PK 3...
Je vous remercie pour votre aide.
Je n'arrive pas à classer mes feuilles selon le principe suivant (elles sont déjà nommées directement selon la valeur d'une cellule):
PK 0.125 +
PK 1.25 +
PK 1.25 -
PK 10.258 -
Pk 13.450 +
Pk 13.450 -
Pk 123.450 -
J'aimerais que ce classement soit établi selon:
1° le PK
2° les "+" et "-".
J'ai trouvé divers code, celui-ci est celui qui s'applique le mieux à mon cas
VB:
Sub Tri_onglet()
Application.ScreenUpdating = False
Dim a(256)
n = Sheets.Count
For i = 1 To n
a(i) = Sheets(i).Name
Next i
'---- tri
For i = 1 To n
For j = i To n
If a(j) < a(i) Then
temp = a(j)
a(j) = a(i)
a(i) = temp
End If
Next j
Next i
'---
For i = 1 To n
Sheets(a(i)).Move before:=Sheets(i)
Next i
End Sub
mais lorsqu'il y a du texte devant les chiffre, ça repasse en classement PK 2 - PK 20 - PK 3...
Je vous remercie pour votre aide.