Tri automatique excel ( plusieurs colonnes)

Bonjour,
J'arrive donc a trier sur un tableaux annexes a l'aide d'une macro 2 colonnes ( C1 : les nom de rue C2 la note de chaque rue ) par note décroissante...
Existe il une variante lorsqu'on souhaite trié plusieurs colonnes ( type "c1") en utilisant comme source de donné une seule de ces colonnes ( notamment cette mem colonne "c2" ) ?

Je m'explique j'ai donc plusieurs colonnes avec plusieurs données mais jaimerais donc trier les lignes de mon tableaux celon les criteres d'une seul colonne mettant ainsi en haut de la page les lignes concerné avec toute les colonnes.

merci d'avance
Configuration: Excel 2007

3 réponses

  1. Contributeur
    bonjour

    Je m'explique

    Pas nécessairement de façon claire... car le tri par colonne est le tri par défaut.

    Pour trier sur une colonne mais en incluant toutes les colonnes il faut faire quelque chose du genre :
    Cells.sort Key:=Range("C2") , Order:=xlAscending
    0
    1. hmm
      actuellement j'utilise cette formule

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)

      If Not Intersect(Target, Range("B:B")) Is Nothing Then
      Range("op").Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
      End If

      End Sub

      En l'occurence les colonnes utilisé sont "A" "B" et le tri se fait celon la "B" si je veu rajouter 5 colonnes qui reste lié a la designation provenant de la colonne "A" je dosi changer quelle parametre ?

      Merci
      0
  2. Contributeur
    bonjour

    Range("op")
    0
    1. Sa ne marche pas ;/ cette commande correspond a la base de donné qui renseigne le tri ?

      sachant que mon tri doit se faire que par rapport a 1 colonne et non toute Cependant toute les colonnes concerné doivent etre trié celon celle ci... ^^
      0
  3. Contributeur
    bonjour

    Si tu mets ceci, tu ne tries que sur la colonne B mais toutes les autres suivent :
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
    Cells.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    End If
    End Sub
    
    0