Macro pour Trier cellules sélectionnées

Tony44

XLDnaute Junior
Bonjour,

je souhaite créer une macro qui permet de trier une sélection de cellules (sélection faite manuellement) en fonction d'une colonne (par exemple B)
Par exemple, je sélectionne une plage de cellule (C6 : L10) et souhaite qu'un trie soit effectuer en fonction de la colonne "D". Puis si je sélectionne manuellement une autre plage (C15 : L17) je souhaite qu'un trie se fasse, toujours en fonction de la colonne "D".

Comment faire pour définir la colonne D comme étant la colonne dont on souhaite faire le trie sans définir dans la macro les cellules.

voir fichier joint.
Merci,
 

Pièces jointes

  • Classeur1.xlsx
    300.8 KB · Affichages: 72
  • Classeur1.xlsx
    300.8 KB · Affichages: 81
  • Classeur1.xlsx
    300.8 KB · Affichages: 87
Dernière édition:

Tony44

XLDnaute Junior
Re : Macro pour Trier cellules sélectionnées

c'est pas totalement ça.
en fait le trie s'effectue toujours par rapport à la colonne D mais la plage de cellule varie toujours.
la plage de cellule peut commencer en ligne 6 jusq'à la ligne 9 puis une autre plage de la ligne 15 jusqu'à la ligne 25 ... àa varie toujours.
 

pierrejean

XLDnaute Barbatruc
Re : Macro pour Trier cellules sélectionnées

Bonjour Tony

Salut Chalet

A tester:

Code:
Sub Macro1()
  x = Selection.Row
  y = Selection.Rows.Count + x
  MsgBox (x & "  " & y - 1)
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D" & x & ":D" & y) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Selection
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 

Tony44

XLDnaute Junior
Re : Macro pour Trier cellules sélectionnées

Merci "Si..."
ta méthode me convient bien, je vais juste essayer de l'adapter pour que je n'ai pas l'userform à chaque fois que je sélectionne une plage de cellule mais je cherche plutôt à faire un bouton qui lancerait la procédure.
 

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro