Microsoft 365 tri automatique dates

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GUERET

XLDnaute Occasionnel
Bonsoir,
Je suis en trains de créer cette feuille compta et je souhaiterai automatiser le tri en fonction de la date sur toutes les feuilles (de Janvier à Décembre).
J'ai essayé cette VBA mais elle ne fonctionne pas.
Cordialement

Sub macro_tri()

SortFields.Clear

SortFields.Add Key:=Range("C5"), SortOn:=xlSortOnValues, Order:= _

xlAscending, DataOption:=xlSortNormal

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

End Sub
 

Pièces jointes

Bonjour,

Une proposition ci-dessous :
VB:
Sub macro_tri()
'
    Set Mafeuille = ActiveSheet     ' à adapter
    With Mafeuille.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("C5:C39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("C4:C39")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

ps : des tableaux structurés seraient peut-être mieux.
 
Bonsoir le Fil
Une adaptation de la proposition de @TooFatBoy
VB:
Sub macro_tri()
Dim DerLgn As Integer
    Set Mafeuille = ActiveSheet     ' à adapter
    DerLgn = Mafeuille.Cells(Mafeuille.Rows.Count, 3).End(xlUp).Row
    With Mafeuille.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("C5:C" & DerLgn), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
        .SetRange Range("C4:F" & DerLgn)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Jean marie
 
Bonsoir le Fil
Une adaptation de la proposition de @TooFatBoy
VB:
Sub macro_tri()
Dim DerLgn As Integer
    Set Mafeuille = ActiveSheet     ' à adapter
    DerLgn = Mafeuille.Cells(Mafeuille.Rows.Count, 3).End(xlUp).Row
    With Mafeuille.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("C5:C" & DerLgn), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
        .SetRange Range("C4:F" & DerLgn)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Jean marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
878
Réponses
11
Affichages
712
Réponses
1
Affichages
782
Réponses
1
Affichages
1 K
Retour