Comment trier automatiquement les feuilles et les onglets Excel

Comment trier automatiquement les feuilles et les onglets Excel

Excel n'est pas seulement un outil de conservation des données et de la comptabilité d'entreprise. Son pouvoir réside dans le fait qu'il est utilisé pour classer et gérer presque tout de manière simple et rapide. Nous pouvons créer des agendas, des quadrants de travail, des carnets d'adresses, des modèles de factures, des fiches de présence ... Cependant, Excel ne nous permet pas d'organiser les feuilles de classeur, ce qui est très utile lorsque l'on travaille avec de longs livres. Mais nous pouvons trier automatiquement les onglets Excel avec une macro en code Visual Basic . Nous expliquons comment procéder étape par étape.

Les mots «macro dans le code Visual Basic» peuvent être intimidants, mais tout est plus facile qu'il n'y paraît. Une macro est un petit programme qui exécute une série d'actions pour nous dans Excel et sert à automatiser des tâches répétitives . Les macros sont écrites en code Visual Basic pour Applications (ou VBA), un langage de programmation qui vous permet d'accéder et d'étendre les fonctions d'Excel.

L'éditeur Visual Basic

Pour créer notre macro, nous devons ouvrir n'importe quel classeur dans Excel, et plus il a d'onglets, mieux c'est.

Trier les onglets Excel

Pour ouvrir l'éditeur VBA, nous utilisons le raccourci clavier Alt + F11 . Une fois que la fenêtre de l'éditeur apparaît, nous recherchons un classeur Excel particulier, appelé Personal.xls . Ce livre a la propriété que tout ce que nous y faisons affectera tous les classeurs . Autrement dit, si nous créons une macro, nous pouvons l'utiliser quand nous le voulons.

Éditeur de macros

Si vous ne trouvez pas le livre personnel, ne vous inquiétez pas. Quittez l'éditeur, ouvrez l'onglet Vue Excel, déroulez le menu Macros et sélectionnez Enregistrer une macro . Enregistrez la macro dans votre livre de macros personnelles et démarrez l'enregistrement. Ensuite, affichez à nouveau le menu Macros et arrêtez l'enregistrement. Vous avez déjà votre livre "spécial".

Créer une macro dans Excel

Maintenant, nous avons tout prêt pour créer un nouveau module . Nous ouvrons l'éditeur VBA avec Alt + F11 , sélectionnons le livre Personal.xls, puis cliquons sur Insérer> Module . Nous plaçons le curseur dans la fenêtre du module et écrivons le code suivant:

Sous SortSheets_Ascendant ()

Pour a = 1 To Sheets.Count

Pour s = a + 1 à Sheets.

Si UCase (Sheets (a) .Name)> UCase (Sheets (s) .Name) Then

Feuilles (s) .Move Before: = Feuilles (a)

Fin si

Suivant s

À côté de

End Sub

Nous fermons la fenêtre et la macro aura été stockée automatiquement. Il ne reste plus qu'à vérifier que cela fonctionne. On ouvre le livre dont on veut commander les onglets, on va à View et on clique sur Macros , ou on appuie sur le raccourci clavier Alt + F8 . Double-cliquez sur SortSheets_Ascendant , et les onglets du livre seront placés dans l'ordre alphabétique en un instant .

Trier les onglets Excel par ordre alphabétique

Lorsque nous fermons Excel, le programme nous demandera si nous voulons enregistrer les modifications apportées aux macros. Nous acceptons, et notre macro sera stockée pour être utilisée avec le livre que nous voulons.

Trier les feuilles par ordre décroissant

Avec quelques petits changements de code, nous pouvons obtenir l'effet inverse: trier les onglets par ordre alphabétique décroissant . Nous répétons le processus de création de la macro, et cette fois nous insérons le code suivant:

Sub SortSheets_Descending ()

Pour a = 1 To Sheets.Count

Pour s = a + 1 à Sheets.

Si UCase (Sheets (a) .Name) <UCase (Sheets (s) .Name) Alors

Feuilles (s) .Move Before: = Feuilles (a)

Fin si

Suivant s

À côté de

End Sub

Il n'y a que deux variantes. Le premier, bien sûr, est le nom de la macro. Le second est le changement de> à <dans la quatrième ligne de code. Cela signifie que l'ordre des feuilles dans le livre changera de direction . Maintenant, lorsque vous cliquez sur Afficher> Macros (ou sur le raccourci Alt + F8 ), vous verrez les deux macros nouvellement créées. Double-cliquez sur SortSheets_Descending , et vérifiez avec satisfaction son effet.

Trier les feuilles Excel par ordre décroissant

En enregistrant les modifications en quittant Excel, nous aurons ces deux macros disponibles à tout moment . Ils nous permettront d'économiser beaucoup de temps et d'efforts lors de la gestion des onglets de classeurs Excel particulièrement volumineux.