(Extrait d'une réponse et à défaut d'une solution plus sioux qu'il me semble pourtant bien avoir vue sur le forum)
Si on trie les données selon les dates formatées, on obtient :
01/01/06
01/03/06
02/02/06
etc.
Pour trier par date, convertir la colonne de dates en nombre sans décimale, Trier les données et reformater la colonne en date.
C'est lourd mais ça donne le résultat excompté
Exemple si les dates sont dans la colonne A
Header:=xlYes s'il existe un en-tête de colonne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Columns("A:A").Select Selection.NumberFormat = "0" DoEvents Cells.Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom DoEvents Columns("A:A").Select Selection.NumberFormat = "dd/mm/yyyy"
Ça, c'était pour le côté pédagogique de la chose.
Une fois "traduit en VBA", ça donnerait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Columns("A:A").NumberFormat = "0" DoEvents Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom DoEvents Columns("A:A").NumberFormat = "dd/mm/yyyy"![]()
Partager