Macro débutant

Signaler
Messages postés
2
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
14 octobre 2020
-
Messages postés
1135
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
25 octobre 2020
-
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

Messages postés
1135
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
25 octobre 2020
113
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