Excel:VBA:TCD et date croissante

chrystobale

XLDnaute Nouveau
Bonjour,

J'ai créé un TCD (voir fichier attaché) dans lequel j'ai remarqué que lignes 26 et 27 devraient se trouver à la fin.
En effet le format des dates est "année"&("wk")&"week".
J'utilise une concaténation pour obtenir ce format.
2008wk52
2008wk53
2009wk1
2009wk10 <----------- pas a la bonne place
2009wk11 <----------- pas a la bonne place
2009wk2
2009wk3
2009wk4
2009wk5
2009wk6
2009wk7
2009wk8
2009wk9

Auriez vous une idée pour faire en sorte que d'avoir ?
2008wk52
2008wk53
2009wk1
2009wk2
2009wk3
2009wk4
2009wk5
2009wk6
2009wk7
2009wk8
2009wk9
2009wk10 <----------- bonne place !!!
2009wk11 <----------- bonne place !!!

J'ai tenté de mettre l'option croissant dans les propriétés du TCD mais sans succès ...
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Excel:VBA:TCD et date croissante

Bonjour Crystobale :),
Quand tu fait la concaténation, il faut que le format des semaines soient en personnalisé 00, comme celà, tu aura la semaine sur 2 chiffres et l'ordre alphanumérique sera bon. Ça devrait le faire.
Bon courage :cool:
 

nolich

XLDnaute Occasionnel
Re : Excel:VBA:TCD et date croissante

Bonjour chrystobal, bonjour à toutes et à tous :)

Le classement, dans XL comme dans beaucoup d'autres logiciels, est effectué en fonction du code ASCII (aujourd'hui étendu). Il est donc logique qu'XL, TCD ou pas, si tu entres les codes (format texte) suivants :

2009wk2
2009wk10
2009wk1
2009wk11

le tri se fera sur le 7ème et 8ème caractère, comme dans un dictionnaire dans lequel tu trouves idôlatre avant idolâtrer et idôlatrer avant idôlatrie, tu auras un tri du même genre :

2009wk1 < 2009wk10 < 2009wk11 < 2009wk2.

Pour solutionner ton problème, il te faut 2 chiffres pour le mois :

2009wk02
2009wk10
2009wk01
2009wk11

qui te donnera dans ton TCD :

2009wk01
2009wk02
2009wk10
2009wk11

En espérant avoir été clair.

@+
 
Dernière édition: