XL 2010 Trie jours/heures/minutes

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'espère que vous allez tous bien ;)

Me voici de retour pour un souci de tri.

exemple de données triées :
25/02/2017 00:00
25/02/2017 00:00
25/02/2017 00:00
25/02/2017 08:30
25/02/2017 08:45

Ce que je voudrais obtenir :
25/02/2017 08:30
25/02/2017 08:45

25/02/2017 00:00
25/02/2017 00:00
25/02/2017 00:00

Malgré mes recherches sur mon copain le net et mon forum préféré + mes tentatives, je n'y suis pas arrivé.
Auriez-vous la solution ?

Je joins un classeur test explicatif avec le résultat dont j'ai besoin.
Avec mes remerciements,
Je vous souhaite une belle journée,
Amicalement,
Lionel,
 

Pièces jointes

  • Trie par jours et heures minutes.xlsm
    19.6 KB · Affichages: 26

CISCO

XLDnaute Barbatruc
Bonjour

Sur ton fichier exemple, tu la mets sur H2. Bien sûr, comme je suppose que ta liste ne s'arrête pas sur la ligne 16, il faut remplacer dans la formule ce nombre par le n° de la dernière ligne de ton fichier, ou par un nombre encore plus grand. Ensuite, tu tires cette formule vers le bas aussi longtemps que désiré.
 

Pièces jointes

  • Trie par jours et heures minutes.xlsm
    20.8 KB · Affichages: 23

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous :)

Attention Lionel, il faut enlever toutes les heures qui ont 00:00:00, sinon ça ne marche pas.

VB:
Sub Tri_Ascendant()
  With ActiveSheet
  derlig = .Range("e" & Rows.Count).End(xlUp).Row
  For i = 2 To derlig
  .Range("e" & i).Sort Key1:=.Cells(2, 5), Order1:=xlAscending, Header:=xlNo, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
   DataOption1:=xlSortNormal, DataOption1:=xlSortTextAsNumbers
  Next i
  End With
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous :)

Attention Lionel, il faut enlever toutes les heures qui ont 00:00:00, sinon ça ne marche pas.

VB:
Sub Tri_Ascendant()
  With ActiveSheet
  derlig = .Range("e" & Rows.Count).End(xlUp).Row
  For i = 2 To derlig
  .Range("e" & i).Sort Key1:=.Cells(2, 5), Order1:=xlAscending, Header:=xlNo, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
   DataOption1:=xlSortNormal, DataOption1:=xlSortTextAsNumbers
  Next i
  End With
End Sub

Bonjour Lone,
Merci à toi aussi d'être encore présent ;)
Je ne comprends pas : il faut enlever toutes les heures qui ont 00:00:00
Lionel,
 

CISCO

XLDnaute Barbatruc
Bonjour

@ Lone-wolf : Ma proposition enlevait toutes les dates finissant en 00:00:00, ce qui ne veut pas dire que c'est exactement ce que veut arthour973. Peut être veut-il les avoir à la fin. A lui de nous le dire.

@ plus
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re Cisco,
Re Lone,

Effectivement, ce code va rentrer dans mon fichier de travail qui utilise le calendrier de Roland.

Les dates et heures et minutes sont sélectionnées et s'affichent comme indiqué par Lone : 25/02/2017 00:00:00
Mon niveau de technicité ne me permet pas modifier le code déjà pas simple (pour moi LOL).
Amicalement,
Lionel,
 

Discussions similaires

Réponses
18
Affichages
1 K
Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
312 095
Messages
2 085 250
Membres
102 837
dernier inscrit
CRETE