Bonjour à tous ,

Je suis entrain de dévoloppez une procédure de trie que j'ai collecter d'ici et de là , mais elle me bug quand je veux passer de la procédure Trie verticale à cell de RowSort ! :/

Merci d'avance les fourimiste de me donner un coup de main la dessus !



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
'------------------------------------------------------------------------------------------
'trie
'------------------------------------------------------------------------------------------
 Sub TriVertical()
 
 Dim col As Integer
 
Set rng = Sheets("Trie").Range(Cells(1, 1), Cells(330, x))
 
RowSort (rng), TextAsValue:=xlSortTextAsNumbers  ', Order:=xlDescending   ' , Header:=False
 
End Sub
 
Sub RowSort(DataTable As Range, Optional Order As Byte = xlAscending, Optional Header As Boolean = True, Optional TextAsValue As Byte = xlSortNormal)
 ' DataTable de type Range, doit contenir l'adresse d'au moins une cellule
 ' [Order]  Ordre de tri par défaut xlAscending
 ' [Header] La table contient ou nom des étiquettes de lignes (1ère colonne) par défaut xlYes
 ' [TextAsValue] Permet de trier une valeur numérique ressemblant à un nombre comme tel. Par défaut xlSortNormal
 ' Le tri ne se fait que sur une seule ligne
 Dim KeyRow As Range, Table As Range: Set Table = DataTable
 With Table
  If .Count = 1 Then Set Table = .CurrentRegion
 End With
 ' *** Tri ***
 With Table
  Set KeyRow = .Offset(0, Abs(Header)).Resize(1, .Columns.Count - Abs(Header))
 .Offset(0, Abs(Header)).Resize(, Table.Columns.Count - Abs(Header)).Sort _
  Key1:=KeyRow, Order1:=Order, DataOption1:=TextAsValue, _
  Header:=xlYes + Abs(Header = False), OrderCustom:=1, MatchCase:=False, Orientation:=xlSortRows
 End With
 
 
End Sub