Rechercher : dans
Par :

[VBA] trier les feuilles

Dernière réponse le 21 jui 2009 à 09:33:25 andy_kaufmann, le 6 aoû 2007 à 20:38:05 
 Signaler ce message aux modérateurs

Bonjour,

comment peut on trier automatiquement les feuilles d'un classeur dans l'ordre alphabetique?

on est obligé de passer par une comparaison de nom de feuille ou existe-t-il une fonction plus élégante?

merci

Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « [VBA] trier les feuilles » dans :
VBA et les collections d'objets. VoirVBA et les collections d'objets Quand plusieurs (beaucoup de) contrôles sont mis sur une feuille ou un Userform il est parfois fastidieux d'écrire du code dans chaque évènement des contrôles. Ce Tuto vous permet de traiter vos contrôles comme...
Formules sur Matrice Multi-Feuilles VoirFormules sur feuilles multiples Le sommaire est le suivant: Introduction Syntaxe Exemples Code Introduction Seules les Formules Somme, Moyenne, Nb, Nbval permettent de faire des calculs sur des plages discontinues ou Multi-Feuilles...
VBA Un timer une seconde tout simple VoirEn VBA, il n'y a pas (du moins à ma connaissance) de composant Timer. On peut en créer un très facilement. Dans un module de feuille Activer/ dés activer le timer : Placer un bouton sur Feuil1 et mettre le code... Private Sub...
Télécharger MOREFUNC (Macro complémentaire EXCEL) VoirMorefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont compatibles avec Excel 95 à 2007. Elles ne sont pas portables sur d'autres plate-formes que Windows, ni sur d'autres...

1

Lupin.A, le 6 aoû 2007 à 22:18:47
  • +2

Bonjour,

Rouler cette macro !

Sub TrierOnglets()

    Dim Boucle As Integer, Compteur As Integer

    For Boucle = 1 To Sheets.Count
        For Compteur = 1 To (Boucle - 1)
            If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then
                Sheets(Boucle).Move before:=Sheets(Compteur)
                Exit For
            End If
        Next Compteur
    Next Boucle

End Sub
'

Lupin

Répondre à Lupin.A

3

 PapaMike62, le 21 jui 2009 à 09:33:25

Une petite modif, si votre classeur contient des feuilles cachées ces feuilles ne sont pas déplaçables par la méthode Move. Un petit test sur la propriété Visible de la feuille peut évite un plantage lorsque ce cas de figure se présente :

Sub TrierOnglets()

    Dim Boucle As Integer, Compteur As Integer

    For Boucle = 1 To Sheets.Count
        If Sheets(Boucle).Visible = true then
           For Compteur = 1 To (Boucle - 1)
               If Sheets(Compteur).Visible = true then
                    If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then
                        Sheets(Boucle).Move before:=Sheets(Compteur)
                        Exit For
                    End If
               EndIf
           Next Compteur
        EndIf
    Next Boucle
End Sub

Répondre à PapaMike62

2

anonyme, le 8 jui 2008 à 15:35:35

Bonjour!

c'est exactement ce que je cherchais!!!
merci beaucoup

Répondre à anonyme