On me demandait récemment comment ordonner les onglets sous Excel. Mon premier réflexe de chercher sur un moteur de recherche ordonner les onglets sous Excel. Je recopie ici le code trouver sur le site de Microsoft : Comment trier les onglets d'un classeur
Pour s'en servir, il suffit de recopier ce code dans l'éditeur VBA qui apparaît dès qu'on utilise la combinaison ALT+F11. Il faut le recopier dans la fenêtre associée à l'intitulé ThisWorkbook.
Sub trie_onglets() 'Déclarations des variables Dim nbr_onglets As Integer Dim compteur As Integer Dim noms_onglet() compteur = 1 'Récuperation du nombre d'onglets du classeur nbr_onglets = ActiveWorkbook.Sheets.Count ReDim noms_onglets(1 To nbr_onglets) 'Récupération des noms des onglets For Each onglet In ActiveWorkbook.Sheets noms_onglets(compteur) = LCase(onglet.Name) compteur = compteur + 1 Next 'Tri des nom des onglets For i = nbr_onglets - 1 To 1 Step -1 For j = 1 To i If noms_onglets(j) > noms_onglets(j + 1) Then var_tampon = noms_onglets(j) noms_onglets(j) = noms_onglets(j + 1) noms_onglets(j + 1) = var_tampon End If Next Next 'Classement des onglets For i = 1 To nbr_onglets Sheets(noms_onglets(i)).Select Sheets(noms_onglets(i)).Move Sheets(i) Next End Sub
Pour terminer, on place son curseur au milieu du code récopié puis on l'exécute (il faut cliquer sur le petit triangle vert). Quand on retourne dans le tableur les onglets sont triés. Il faut noter qu'ils sont triés par ordre alphabétique sans faire de différence entre les minuscules et les majuscules. Dernière remarque, la fonction n'aime pas trop qu'on soit en train de renommer un onglet pendant qu'on l'exécute.
<-- --> |