Bonjour,
j'ai voulu utiliser les lignes de codes suivantes pour trier des feuilles excel selon le numéro que j'avais attribué à une cellule de mon classeur. Les numéros sont associés toujours dans la même cellule. Le problème c'est que ce programme me trie les valeurs selon le premier chiffre, je me retrouve donc avec le numéro 100 puis 1001 et en dernier j'ai le numéro 99 par exemple. Je suis nul en progammation visual et je voudrais savoir si quelqu'un pourrait m'aider pour modifier les lignes de codes que j'utilise.
Cordialement.
Sub ma()
'Sub TrierOnglets()
Dim i&, j&, Dat(), v1$, v2$
ReDim Dat(1 To Sheets.Count, 1 To 2)
For i = 1 To Sheets.Count
Dat(i, 1) = UCase(Sheets(i).[R2].Value): Dat(i, 2) = Sheets(i).Name
Next i
For i = 1 To Sheets.Count
v1 = Dat(i, 1): v2 = Dat(i, 2)
For j = 1 To Sheets.Count
If Dat(j, 1) < v1 Then Dat(i, 1) = Dat(j, 1): Dat(j, 1) = v1: v1 = Dat(i, 1): Dat(i, 2) = Dat(j, 2): Dat(j, 2) = v2: v2 = Dat(i, 2)
Next j
Next i
For i = 1 To Sheets.Count
Sheets(Dat(i, 2)).Move before:=Sheets(1)
Next i
End Sub
j'ai voulu utiliser les lignes de codes suivantes pour trier des feuilles excel selon le numéro que j'avais attribué à une cellule de mon classeur. Les numéros sont associés toujours dans la même cellule. Le problème c'est que ce programme me trie les valeurs selon le premier chiffre, je me retrouve donc avec le numéro 100 puis 1001 et en dernier j'ai le numéro 99 par exemple. Je suis nul en progammation visual et je voudrais savoir si quelqu'un pourrait m'aider pour modifier les lignes de codes que j'utilise.
Cordialement.
Sub ma()
'Sub TrierOnglets()
Dim i&, j&, Dat(), v1$, v2$
ReDim Dat(1 To Sheets.Count, 1 To 2)
For i = 1 To Sheets.Count
Dat(i, 1) = UCase(Sheets(i).[R2].Value): Dat(i, 2) = Sheets(i).Name
Next i
For i = 1 To Sheets.Count
v1 = Dat(i, 1): v2 = Dat(i, 2)
For j = 1 To Sheets.Count
If Dat(j, 1) < v1 Then Dat(i, 1) = Dat(j, 1): Dat(j, 1) = v1: v1 = Dat(i, 1): Dat(i, 2) = Dat(j, 2): Dat(j, 2) = v2: v2 = Dat(i, 2)
Next j
Next i
For i = 1 To Sheets.Count
Sheets(Dat(i, 2)).Move before:=Sheets(1)
Next i
End Sub