VBA - Feuille en ordre croissant
Fermé
gorPweN
-
19 juil. 2010 à 17:52
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 19 juil. 2010 à 18:25
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 19 juil. 2010 à 18:25
A voir également:
- VBA - Feuille en ordre croissant
- Excel trier par ordre croissant chiffre - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Feuille a5 - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Supprimer une feuille word - Guide
1 réponse
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 19/07/2010 à 18:32
Modifié par michel_m le 19/07/2010 à 18:32
Bonjour,
essaies cette macro
edit: modifié dernière ligne
:-x
essaies cette macro
Option Explicit Sub ranger() Dim tablo() Dim nbre As Byte, cptr As Byte, i As Byte, j As Byte, k As Byte Dim tmp0 As String ' nombre de feuilles nbre = ThisWorkbook.Sheets.Count 'construit un tableau t "nbre" d'éléments ReDim tablo(nbre - 1) 'remplit le tableau avec le nom des onglets Do Until cptr = nbre tablo(cptr) = Sheets(cptr + 1).Name cptr = cptr + 1 Loop 'range le tableau dans l'ordre décroissant For i = 0 To nbre j = i For k = j + 1 To nbre - 1 If tablo(k) > tablo(j) Then j = k Next k If i <> j Then tmp0 = tablo(j) tablo(j) = tablo(i) tablo(i) = tmp0 End If Next i 'fige défilement de l'écran Application.ScreenUpdating = False 'range les feuilles dans l'ordre décroissant cptr = 0 For cptr = 0 To UBound(tablo) Sheets(tablo(cptr)).Move before:=Sheets(nbre) Next End Sub
edit: modifié dernière ligne
:-x
Modifié par michel_m le 19/07/2010 à 18:33
si croissant
et
Sheets(tablo(cptr)).Move before:=Sheets(1)