Bonjour,
Je travaille avec un fichier Excel qui va chercher par l'intermédiaire d'une macro des données sous format date dans un autre fichier.
Une fois que ces dates sont récupérées, je veux trier ces données selon la date. Jusque là, tout va bien. Par contre si par la suite on veut insérer manuellement des lignes dans ce premier fichier et qu'on relance le tri (par l'intermédiaire d'une macro), alors les dates entrées manuellement ne se trient plus, elles apparaissent avant les autres dates.
J'ai remarqué que si je fais le tri manuellement (Menu Données --> Trier), les dates se trient correctement, après avoir coché la case "Trier tout ce qui ressemble à des nombres, comme des nombres" ce qui ajoute l'option "xlSortTextAsNumbers" dans la macro. Par contre si je relance cette macro une fois que je l'ai enregistrée, les dates insérées manuellement ne se trient plus.
J'ai aussi constaté que si je formate la colonne date en nombres, alors seules les dates entrées manuellement se changent en nombre (p.ex 389876) alors que les autres dates restent au format date (jj.mm.yyyy).
J'ai beau essayer de reformater les colonnes avant le tri, rien ne marche.
Voici le code qui permet de trier mes lignes :
Quelqu'un aurait-il une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Selection.Sort Key1:=Range("K9"), Order1:=xlDescending, Key2:=Range("A9") _ , Order2:=xlAscending, Key3:=Range("H9"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal, DataOption2:=xlSortTextAsNumbers, DataOption3 _ :=xlSortNormal
Merci d'avance,
Steve
Partager