Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Trier une plage de données de A à Z et de Z à A avec formule

chuckééé

XLDnaute Nouveau
Bonjour, les exceliens, je reviens vers vous pour bénéficier de vos lumières, je fais face à un problème qui commence à me prendre un peu la tete, en fait j'ai trois plageS de données que je dois filtrer dans un ordre précis afin que mon tcd envoies les bons chiffres.
Je dois filtrer avec formules :
  1. la colonne evaluation de Aà Z
  2. la colonne NUMERO de Aà Z
  3. la colonne R de Z à A
j'ai essayer plusieurs formules avec NB.si en vains.

Est que quelqu’un sait comment trier dans cet ordre la ?

Je vous remercie d'avance
 

Pièces jointes

  • Classeur1.xlsx
    88.8 KB · Affichages: 12

kiki29

XLDnaute Barbatruc
Salut, via le Macro Recorder dans un 1er temps puis mise en forme, élagage à la main, à toi de poursuivre. Feuil1 est le CodeName de l'onglet.
VB:
Option Explicit

Sub Test()
Dim LastRow As Long

    Application.ScreenUpdating = False
    With Feuil1
        LastRow = .UsedRange.Rows.Count

        .Range("A1:C1").Select
        .Sort.SortFields.Clear

        .Sort.SortFields.Add Key:=.Range("A2:A" & LastRow), _
                             SortOn:=xlSortOnValues, _
                             Order:=xlAscending, _
                             DataOption:=xlSortNormal

        .Sort.SortFields.Add Key:=.Range("B2:B" & LastRow), _
                             SortOn:=xlSortOnValues, _
                             Order:=xlAscending, _
                             DataOption:=xlSortTextAsNumbers

        .Sort.SortFields.Add Key:=.Range("C2:C" & LastRow), _
                             SortOn:=xlSortOnValues, _
                             Order:=xlDescending, _
                             DataOption:=xlSortNormal

        With .Sort
            .SetRange Range("A1:C" & LastRow)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

        .Range("$A$1:$C$" & LastRow).AutoFilter Field:=1, Criteria1:="<>"
        .Range("D1").Select
    End With

    With ActiveWindow
        .SplitColumn = 0
        .SplitRow = 1
        .FreezePanes = True
    End With

    Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Classeur1.zip
    31.3 KB · Affichages: 1
Dernière édition:

chuckééé

XLDnaute Nouveau
Merci kiki et sylvanu pour vos réponses, malheureusement mon rapport quand je l'automatise ne prends pas en considération le code VBA, il faut absolument une formule pour trier, j'avoue que j'ai essayé plusieurs formules mais ca ne marche toujours pas :/
 

chuckééé

XLDnaute Nouveau
Merci pour vos réponses.
oui, je comprends mais en fait c'est un rapport que je charge dans une plateforme saas, et qui sera téléchargeable par plusieurs collaborateurs, ces derniers n'ont aucune notion d'activation des vba, il me faut absolument une formule pour trier sinon ca marche pas :/
 

chuckééé

XLDnaute Nouveau
merci pour votre reponse sylvanu, mais en fait c'est un rapport que je charge dans une plateforme saas, et qui sera téléchargeable par plusieurs collaborateurs, ces derniers n'ont aucune notion d'activation des vba, il me faut absolument une formule pour trier sinon ca marche pas :/
 

dysorthographie

XLDnaute Accro
Soit le tri est fait manuellement soit par Macro, une formule n'a pas vocation de tri !

Si tes congénères ne savent pas cliqué sur le bouton activer les macros quand il apparaît à ouverture du fichier alors ils n'ont pas besoin d'Excel !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…