Trier des blocs de lignes

salut

Sur le doc ci-joint, j'essaie de créer un bouton qui permette de trier des tâches par ordre de priorité. L'ordre de priorité est définit dans la colonne B.
Je suis parvenu à créer la macro qui trie les taches par ordre croissant de priorité.

Par contre je ne parviens pas à trouver de méthode qui permette de les trier par ordre décroissant de priorité, car il faut que les blocs de lignes (une tache peut comporter 5 linges) restent lisibles.

Auriez-vous une idée?

10tache-doc.xlsm (55.57 Ko)

Bonjour

Le gros inconvénient dans ton fichier se sont les cellules fusionnées.

Crdlt

bonjour ruliann,

un essai

Sub test()

     Application.EnableEvents = False
     With Sheets("Feuil1")
          With .Range("A2").CurrentRegion
               Set c = .Offset(2 - .row).Resize(, 1)
          End With

          With c.Offset(, 26)                'colonnes AA:AB comme brouillon
               .FormulaR1C1 = "=IF(RC[-25]<>"""",TEXT(RC[-25]*1000+COUNTIF(R1C2:RC[-25],RC[-25]),""00\-000""),R[-1]C)"
               .Offset(, 1).FormulaR1C1 = "=SUM(IF(RC[-26]<>"""",0,R[-1]C),1)"
               .Resize(, 2).Value = .Resize(, 2).Value
          End With

          c.Resize(, 28).Sort key1:=.Range("AA2"), order1:=xlDescending, key2:=.Range("AB2"), order2:=xlAscending, Header:=xlNo
          c.Offset(, 26).Resize(, 2).ClearContents

     End With
     Application.EnableEvents = False

End Sub

EDIT : salut Joco7915, ces cellules sont uniquement sur la première ligne, je crois

Bonsoir une proposition

Sub trie()

Range("A1:W63").Select

ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B:B"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range(Selection, Selection.End(xlToRight))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Salut Bart

Bien joué pour le code toujours au top.

Bonne soirée

Merci à tous les 3

@Ghisnob : tu rencontrais le même problème que moi à savoir que le tri décroissant décomposait la lecture des taches multilignes ou des blocs.

@BsAlv : chapeau pour le code (et la formule à laquelle je n'aurais jamais pensé)

Bonsoir je viens de voir aussi , Bien joué BSLAV.

re,

merci ruliann, peut-être c'est mieux de le faire en 3 colonnes , AA=priorité, AB = numéro de cette priorité, AC = numéro de ligne dans ce numéro.

Comme çà, je pense que ce sera plus pratique pour trier

Rechercher des sujets similaires à "trier blocs lignes"