Trier les feuilles excel

Résolu
roberto93 Messages postés 14 Statut Membre -  
roberto93 Messages postés 14 Statut Membre -
Bonjour,

Je voudrais trier les feuilles excel dans l'ordre croissant

1 2 3 4 5 6 ....
Mais je n'y arrive pas j'ai toujours 1 12 11 10 9 8 7 ....
Comment faire?
Voici la macro que j'ai
Sub Copy()
i = 2
k = 35
While i < 13
Sheets("1").Select
Sheets("1").Copy After:=Sheets(3)
Range("A1:B2").Select
ActiveCell.FormulaR1C1 = k + 39450
ActiveSheet.Name = i
With ActiveCell.Characters(Start:=1, Length:=7).Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ColorIndex = xlAutomatic
i = i + 1
k = k + 30
End With
Wend
End Sub

Merci d'avance
Configuration: Windows 2000
Internet Explorer 6.0

1 réponse

  1. g Messages postés 1285 Statut Membre 578
     
    Bonjour,

    C'est parceque le tri se fait par ordre alpha et non numérique.
    Pour y remédier les feuilles doivent être nommées 01 02 03...... 10 11 12....etc...

    Par ailleurs, j'ai plus court :

    Sub TriFeuilsCrois()
    'trie les feuilles par ordre croissant
    Dim I As Integer, J As Integer
    For I = 1 To Sheets.Count 'pour débuter le tri à la feuille x remplacer For I = 1 pat For I = x
    For J = 1 To I - 1 'pour débuter le tri à la feuille x remplacer For J = 1 par For J = x
    If UCase(Sheets(I).Name) < UCase(Sheets(J).Name) Then 'pour tri décroissant remplacer < par >
    Sheets(I).Move Before:=Sheets(J)
    Exit For
    End If
    Next J
    Next I
    End Sub

    Bonne soirée.
    4
    1. roberto93 Messages postés 14 Statut Membre
       
      Bonjour,

      Merci pour votre aide j'ai résolu le problème voici le code

      Sub Copy()

      i = 2
      k = 35
      n = 0
      While i < 13
      Sheets("1").Select
      Sheets("1").Copy After:=Sheets(3 + n)
      Range("A1:B2").Select
      ActiveCell.FormulaR1C1 = k + 39450
      ActiveSheet.Name = i
      With ActiveCell.Characters(Start:=1, Length:=7).Font
      .Name = "Arial"
      .FontStyle = "Gras"
      .Size = 16
      .Strikethrough = False
      .Superscript = False
      .Subscript = False
      .OutlineFont = False
      .Shadow = False
      .Underline = xlUnderlineStyleSingle
      .ColorIndex = xlAutomatic
      i = i + 1
      k = k + 30
      n = n + 1
      End With
      Wend
      End Sub
      0