Tri dans une cellule de temps

Bonjour à tous,

Dans un export de fichier j'ai des cellules qui indiquent un temps (23j 16h 1min ou 3h 1min ou 9min)

Je souhaiterai avoir le total en seconde. J'ai réussi sur le jour et les minutes mais je n'arrive pas sur les heures.

J'ai tenté la fonction STXT sans succès.

Pouvez vous m'indiquer si c'est possible (sans macro si possible).

Merci

Edit modo : Sujet Excel et non Calc. Fil déplacé sur le bon forum

Bonjour,

si c'est en B1, ceci devrait convenir à tous les cas, qu'il y ait 1 ou 2 chiffres devant les lettres j, h ou m, à condition qu'il y ait bien un espace entre les jours, heures et minutes ;

=SIERREUR(STXT(B1;SI(CHERCHE("j";B1)=2;1;CHERCHE("j";B1)-2);SI(CHERCHE("j";B1)=2;1;2))*3600*24;0)+SIERREUR(STXT(B1;SI(CHERCHE("h";B1)=2;1;CHERCHE("h";B1)-2);SI(CHERCHE("h";B1)=2;1;2))*3600;0)+SIERREUR(STXT(B1;SI(CHERCHE("m";B1)=2;1;CHERCHE("m";B1)-2);SI(CHERCHE("m";B1)=2;1;2))*60;0)

Bonjour,

Merci pour ta réponse, je regarde ça demain et je te tiens au courant.

Bon dimanche

Bonjour

la formule n'est pas compatible avec la version 2019, mais voici une approche Excel 365 pour ceux qui seraient dans le même cas avec cette version

=LET(fractionnement;FRACTIONNER.TEXTE(A1;" ");
regex;REGEX.EXTRAIRE(fractionnement;{"\d+";"(j|h|min|s)$"});
conversion;RECHERCHEX(INDEX(regex;2;0);{"j";"h";"min";"s"};{86400;3600;60;1};0);
SIERREUR(SOMME(INDEX(regex;1;0)*conversion);"ND"))

explications avec "23j 16h 1min" en A1

image

FRACTIONNER.TEXTE pour découper en 3 : 23j puis 16h enfin 1min

REGEX.EXTRAIRE pour isoler la partie numérique de la partie texte : uniquement j, h, min ou s

RECHERCHEX pour remplacer j, h, min ou s par 86400, 3600, 60 ou 1

SOMME pour multiplier ces durées par la partie numérique

Stéphane

bonjour

une petite contribution

cordialement

5fabrice59.xlsx (9.90 Ko)

Bonjour à tous,

Toutes les réponses fonctionnent.

Est il possible d'avoir une autre formule s'il n'y a pas d'espace entre les jours, les heures, les minutes et les secondes ?

Merci

Bonjour,

avec la solution que je proposais ce serait possible moyennant une formule encore plus longue qui consisterait à détecter la position du j, du h et du m, et de calculer la différence de position entre 2 lettres pour prendre ce qu'il y a entre les 2, sachant que ça peut être 1 ou 2 chiffres.

re

pour du sans espace

8fabrice59-2.xlsx (9.91 Ko)

Bonjour à tous !

Une approche possible via Power Query (nativement intégré dans Excel depuis 2016) :

A partir d'un tableau structuré (nommé "tExport"), la requête retourne ceci :

image

Re-bonjour

s'il n'y a pas d'espace entre les jours, les heures, les minutes et les secondes, la première étape FRACTIONNER.TEXTE de ma proposition ce matin ne fonctionne pas

une idée serait d'ajouter des espaces lors des transitions texte/chiffre via REGEX.REMPLACER

=REGEX.REMPLACER(A1;"(?<=\p{L})(?=\d)";" ")

Le reste de la formule est inchangée

Stéphane

Bonjour,

Encore merci pour les informations.

Pour power query, je ne connait pas et je viens de passer 2h à regarder des tuto, mais comment faire pour ajouter une colonne avec la formule ?

Pour Tulip_4, est il possible d'avoir les 4 chiffres de la colonne position et les 4 chiffres de la colonne extract sur une seule ligne ?

Bonne journée

bonjour

alors voila

6fabrice59-3.xlsx (10.24 Ko)

Bonjour,

Lorsque je copie la ligne des calculs sur la ligne en dessous sans le temps à analyser, et que je viens mettre un nouveau temps dans la cellule de devant j'ai Valeur qui s'indique dans la case extract des jours.

Désolé

re

une sombre histoire de $$ dans la partie Ligne(......) ,pardon

5fabrice59-4.xlsx (10.76 Ko)

Aucun soucis, c'est moi qui m'excuse de te faire passer du temps.

Lorsque je mets 7h30 à la main à la place de 21j6h15min30sec, j'ai #valeur qui s'affiche.

Et est ce qu'il est possible pour les minutes de mettre m au lieu de min.

Merci

re

pas simple , voici une proposition , et j'ai modifié pour les minutes

4fabrice59-5.xlsx (10.85 Ko)

Bonjour à tous !

Pour power query, je ne connait pas et je viens de passer 2h à regarder des tuto, mais comment faire pour ajouter une colonne avec la formule ?

Ajouter une colonne ?

Dans votre demande initiale vous ne faites nullement référence à une colonne autre que celle contenant les données à retraiter.

Et comme vous ne joignez aucun classeur représentatif, il est difficile de vous accompagnez.

Bonsoir,

tulip_4 : Ca fonctionne avec 07h30 mais pas avec 7h30. Si c'est pas faisable, je m'organiserai autrement. Merci pour les fichiers.

JFL : J'ai isolé la colonne dont j'ai besoin et j'ai vu que dans ton fichier il y avait une colonne avec une formule. Je voulais créer une colonne pour coller ta formule. Je ne connais pas Power Query, je tatonne.

Voici ce je souhaiterai :

Ce que j'aiCe que je voudrai

(en seconde)

1h27m
3j4h43m
4j21h4m
1j14h14m
8j23h53m
3h15m
56m
7j5h14m
11j3h7m
13j7h28m
5220
276180
421440
136800
777180
11700
3360
623640
961620
1150080

Si c'est trop long, ne perdez pas votre temps.

Bonne soirée

Bonjour

Vous avez écris hier à 10h29 "Toutes les réponses fonctionnent." j'en conclu que vous avez une autre version que 2019 et que ma proposition de 8h55 peut être utilisée.

en l'adaptant pour ajouter des espaces

image
=LET(
ajout_espace;REGEX.REMPLACER(A4;"(?<=\p{L})(?=\d)";" ");
fractionnement;FRACTIONNER.TEXTE(REGEX.REMPLACER(ajout_espace;"(?<=\p{L})(?=\d)";" ");" ");
regex;REGEX.EXTRAIRE(fractionnement;{"\d+";"(j|h|m|s)$"});
conversion;RECHERCHEX(INDEX(regex;2;0);{"j";"h";"m";"s"};{86400;3600;60;1};0);
SIERREUR(SOMME(INDEX(regex;1;0)*conversion);"ND"))

C'est peut-être optimisable pour découper le texte avec REGEX, je n'ai pas creusé

Stéphane

Bonsoir,

A tester

4fabrice59-5.xlsx (9.83 Ko)

Slts

Rechercher des sujets similaires à "tri temps"