Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Cisco,

Merci de m'avoir répondu si vite.
J'avoue que je préfère (et de loin LOL) un code vba plutôt qu'une formule matricielle.
Je la mets où pour essayer votre formule matricielle car c'est la colonne de saisie qui est à trier.
Encore merci,
Amicalement,
Lionel,
 

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

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Merci Cisco de m'avoir répôndu encore une fois

Malheureusement, je ne peux pas inclure une colonne supplémentaire dans mon fichier de travail car déjà très chargé et cela m'entrainerait dans "de grosses" modifs".

Il n'y a pas moyen avec un code vba ?
Amicalement,
Lionel,
 

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 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…