/ / Comment trier les onglets de la feuille de travail par ordre alphabétique dans Excel

Comment trier les onglets de la feuille de travail par ordre alphabétique dans Excel

00_lead_image_sorting_worksheet_tabs

Si vous avez un grand nombre de feuilles de calcul dans votreClasseur Excel, il peut être difficile de trouver une feuille de calcul spécifique. En classant par ordre alphabétique les onglets de votre feuille de calcul, il vous sera plus facile de trouver ce que vous cherchez.

En plus d’organiser vos onglets de feuille de calcul paren leur appliquant des couleurs, vous pouvez également les trier par ordre alphabétique ou alphanumérique, tant que vous avez appliqué des noms personnalisés à vos feuilles de calcul. Malheureusement, le tri alphabétique des onglets de la feuille de calcul n’est pas intégré à Excel, mais vous pouvez ajouter une macro à votre classeur qui vous permettra de trier vos onglets par ordre croissant ou décroissant. Nous allons vous montrer comment ajouter une macro disponible sur le site de support de Microsoft à votre classeur Excel pour trier les onglets de votre feuille de calcul.

01_unsorted_tabs

Pour commencer, appuyez sur Alt + F11 pour ouvrir l’éditeur Microsoft Visual Basic pour Applications (VBA). Ensuite, sélectionnez Insérer> Module.

02_sélectionner_module_insert

Copiez et collez la macro suivante de Microsoft dans la fenêtre du module qui s’affiche.

Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
'
' Prompt the user as which direction they wish to
' sort the worksheets.
'
iAnswer = MsgBox("Sort Sheets in Ascending Order?" & Chr(10) _
& "Clicking No will sort in Descending Order", _
vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
'
' If the answer is Yes, then sort in ascending order.
'
If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
'
' If the answer is No, then sort in descending order.
'
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub

L'éditeur VBA nomme automatiquement chaque moduleavec un numéro à la fin, tel que Module1, Module2, etc. Vous pouvez simplement accepter le nom par défaut du module. Toutefois, si vous envisagez d’ajouter d’autres macros à votre classeur, il est judicieux de renommer chaque module pour vous permettre de connaître leur nature. Nous renommerons notre module pour vous montrer comment.

04_module1_in_modules_list

Pour renommer le module, sélectionnez le texte dans la zone Nom du module sous Propriétés dans le volet gauche.

05_changing_nom_module

Tapez un nom pour le module dans la zone Nom et appuyez sur Entrée. Notez que le nom du module ne peut pas contenir d'espaces.

06_typing_new_name

Le nom du module change dans la liste Modules sous Projet dans le volet gauche.

07_nom_changé

Fermez l'éditeur VBA en sélectionnant Fichier> Fermer et retourner à Microsoft Excel.

08_fichier_close_et_retour_à_excel

Maintenant, nous allons lancer la macro pour trier nosonglets. Appuyez sur Alt + F8 pour accéder à la liste des macros de la boîte de dialogue Macro. Sélectionnez la macro dans la liste (dans notre cas, il n'y en a qu'une), puis cliquez sur «Exécuter».

09_running_macro

La boîte de dialogue suivante s’affiche, vous permettant de choisir si vous souhaitez trier vos feuilles de calcul par ordre croissant ou décroissant. Nous voulons les trier par ordre croissant, alors nous cliquons sur «Oui».

10_sort_worksheets_dialog

Les onglets de la feuille de calcul sont maintenant classés par ordre alphabétique.

11_sorted_tabs

La macro que vous avez ajoutée fait maintenant partie de votre classeur.mais lorsque vous l’enregistrez, vous verrez probablement la boîte de dialogue suivante. C’est parce que vous avez enregistré votre classeur en tant que fichier .xlsx, qui est un format de classeur Excel normal qui n’inclut pas les macros. Pour inclure des macros dans votre classeur et pouvoir les exécuter, vous devez enregistrer votre classeur en tant que classeur prenant en charge les macros ou fichier .xlsm. Pour ce faire, cliquez sur «Non» dans cette boîte de dialogue.

12_warning_about_saving_macro_enabled_file

La boîte de dialogue Enregistrer sous s'affiche. Accédez à l'emplacement où vous souhaitez enregistrer le classeur prenant en charge les macros, si vous ne vous trouvez pas déjà dans ce dossier. Sélectionnez «Classeur Excel prenant en charge les macros (* .xlsm)» dans la liste déroulante «Enregistrer en tant que type».

13_selecting_excel_macro_enabled_workbook

Cliquez sur "Enregistrer".

14_clicking_save

Si vous ne sauvegardez pas le classeur en tant que macroclasseur (fichier .xlsm), la macro que vous avez ajoutée sera supprimée. Vous souhaiterez peut-être supprimer la version .xlsx de votre classeur afin de ne pas oublier d'utiliser la version .xlsm de votre classeur si vous souhaitez ajouter d'autres onglets à une feuille de calcul et les trier à nouveau à l'aide de la macro. Vous pouvez toujours enregistrer à nouveau le classeur sous forme de fichier .xlsx si vous ne souhaitez plus utiliser de macros.