bonjour le forum,
J'ai un fichier excel avec tout plein de colonnes avec des mots, des dates et des nombres.
'T1' '28/02/2010 03:30:00' '442000' '7.43'
T1 '28/02/2010 03:40:00' '1273000' '10.95'
T1 '28/02/2010 04:10:00' '1981000' '14.02'
Pour pouvoir traiter le fichier d'un coup j'ai tout mis au format 'cell' :
Maintenant j'aimerais trier les lignes dans l'ordre chronologique à partir de la date figurant dans la 2eme colonne, avec sortrows je pense. Si j'applique sortrows directement le tri ne se fait pas bien car il ne prend en compte que le jour (28 ou 29) mais pas le reste. Je pensais donc rapporter mon format date à un format nombre de matlab grace à datenum, faire mon tri, puis repasser en format dd/mm/yyyy HH:MM:SS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [num, txt]=xlsread(nom); tmp=[txt(2:length(txt(:,1)),1:3) num2cell(num(:,:))]
Cependant j'ai le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tmp(:,2)=datenum (tmp(:,2),'dd/mm/yyyy HH:MM:SS') tmp=sortrows(tmp,2) tmp(:,2)=datestr (tmp(:,2),'dd/mm/yyyy HH:MM:SS')
Voyez vous un moyen de réaliser ce tri, même si c'est en utilisant une autre méthode. Au passage vous pouvez corriger mon code ou l'améliorer car c'est codé comme un débutant et il se pourrait bien que tout mon problème ne soit du qu'à une pitite erreur de codage??? Conversion to cell from double is not possible.
tmp(:,2)=datenum (tmp(:,2),'dd/mm/yyyy HH:MM:SS')
Merci d'avance
Partager