Macro débutant

rmanager Messages postés 3 Statut Membre -  
Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaite trier par ordre alphabétique mes onglets sauf le sommaire

je suis débutant et aimerant comprendre les formules au lieu de juste coller un lien

quelqu'un pour m'aider étape par étape ?

merci beaucoup

1 réponse

  1. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    Bonjour,

    Avec quelques annotations et à adapter à ton fichier :

    Private Sub Tri()
    
    'Tri des feuilles, dans l'ordre alphabétique :
    On Error GoTo TriageErreur
    Dim j As Integer
    Dim i As Integer
    Dim PremiereFeuille As Integer
    Dim DerniereFeuille As Integer
        PremiereFeuille = 4
        DerniereFeuille = ActiveWorkbook.Worksheets.count
        For i = PremiereFeuille To DerniereFeuille
            For j = i To DerniereFeuille
                    If UCase(SupprimerDiacritique(Worksheets(j).Name)) < UCase(SupprimerDiacritique(Worksheets(i).Name)) Then
                        Worksheets(j).Move Before:=Worksheets(i)
                    End If
            Next j
        Next i
    'Exit Sub
    TriageErreur:
        'CODE en cas d'erreur
    
    
    End Sub
    
    Function SupprimerDiacritique(Texte As String)
    Dim LettreD As String
    Dim LettreN As String
    Dim TexteTemporaire As String
    Dim i As Long
    
    'Remplacement des lettres avec caractère
    Const LettresDiacritique = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
    Const LettresNormales = "AAAAAACEEEEIIIINOOOOOUUUUYYaaaaaaceeeeiiiinooooouuuuyy"
    TexteTemporaire = Texte
    For i = 1 To Len(LettresDiacritique)
        LettreD = Mid(LettresDiacritique, i, 1)
        LettreN = Mid(LettresNormales, i, 1)
        TexteTemporaire = Replace(TexteTemporaire, LettreD, LettreN)
    Next
    SupprimerDiacritique = TexteTemporaire
    End Function


    Pour ce qui est du sommaire, tu peux le placer comme 1er onglet et modifier
    PremiereFeuille = 4


    en :
    PremiereFeuille = 2
    0