Dans cet article, nous allons apprendre à trier les feuilles par ordre croissant via VBA dans Microsoft Excel 2010.

Lorsque vous travaillez sur plusieurs feuilles, vous constatez que les feuilles ne sont pas correctement organisées. Vous souhaitez créer rapidement une macro qui triera automatiquement la feuille par ordre croissant à chaque exécution de la macro.

img1

Pour trier les feuilles par ordre croissant, suivez les étapes ci-dessous:

Appuyez sur Alt + F11 pour lancer l’écran VB Editor. Dans le menu Insertion, sélectionnez Module.

img2

  • Dans le module, saisissez les lignes de code comme suit:

Sub SortingSheetsInAscending ()

Dim i As Integer, n As Integer, SheetsCounter As Integer If ActiveWorkbook Is Nothing Then Exit Sub If ActiveWorkbook.ProtectStructure Then MsgBox ActiveWorkbook.Name & « is protected », vbCritical, « Sort Sheets »

Exit Sub End If If If MsgBox (« Sort Sheets? », VbQuestion + vbYesNo) <> vbYes Then Exit Sub Application.EnableCancelKey = xlDisabled SheetsCounter = Sheets.Count For i = 2 To SheetsCounter For n = 1 To SheetsCounter If Sheets (n) .Name> Sheets (i) .Name Then Sheets (i) .Move before: = Feuilles (n)

End If Next n Next i End Sub

img3

  • Exécutez la macro à partir du module en appuyant sur F5.

Vous pouvez également appuyer sur Alt + F11 et revenir à Excel, affecter la macro à n’importe quel objet Excel en tant que bouton ou icône, ou appuyer sur Alt + F8 pour sélectionner la macro, puis cliquer sur Exécuter.

Vous constaterez que les feuilles sont disposées dans un ordre alphanumérique.

img4