Trier les feuilles d'un classeur excel

Contenu du snippet

Ce code permet de trier dans l'ordre croissant les feuilles d'un classeur excel
Sur le formulaire il faut 2 listbox (list1 et list2) et un bouton (command1)

Source / Exemple :


Dim Ap As New Application

Private Sub Form_Load()
  Dim L
  L = Dir("C:\Mes documents\*.xls")
  List1.Clear
  List1.AddItem L
  While L <> ""
  L = Dir
  List1.AddItem L
  Wend
  List1.Text = List1.List(0)
  Ap.Visible = False
End Sub
Private Sub List1_Click()
  Ap.Visible = False
  Ap.Workbooks.Open (List1.Text)
  List2.Clear
  Dim W As Worksheet
  For Each W In Ap.Workbooks(List1.Text).Worksheets
  List2.AddItem W.Name
  Next W
End Sub

Private Sub Command1_Click()
  Dim i As Integer
  Ap.Workbooks.Open ("C:\Mes documents\" & List1.Text)
  For i = List2.ListCount - 1 To 1 Step -1
    Ap.ActiveWorkbook.Worksheets(List2.List(i)).Move after:=Ap.ActiveWorkbook.Worksheets(i)
  Next i
  Ap.ActiveWorkbook.Worksheets(1).Select
  Ap.Visible = True
  Set Ap = Nothing
  Unload Me
  End
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.