Convertir des heures au format 1h25min3s au format 01:25:03

  • Initiateur de la discussion Initiateur de la discussion juanmarco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juanmarco

XLDnaute Nouveau
Bonjour,

Depuis peu mes factures de téléphonie comportent non plus les temps au format Excel mais sous la forme 39s, ou 38min1s ou 1h24min3s....
J'ai trouvé comment transformer par les formules suivantes chacun des cas de figure mais je n'arrive pas à trouver une formule qui soit valable pour tous les cas de figures, (uniquement des secondes, min+s ou h+min+s)

Pour l'hypothèse ou j'ai en A1 la valeur :
1) 39s, j'utilise la formule =SI(TROUVE("s";A1);SUBSTITUE(A1;"s";"")/(3600*24))

2) 38min1s, j'utilise =SI(TROUVE("min";A2);SUBSTITUE(SUBSTITUE(A2;"min";":");"s";"")/60)

3) 1h24min3s, j'utilise
=SI(TROUVE("h";A3);SUBSTITUE(SUBSTITUE(SUBSTITUE(A3;"h";":");"min";":");"s";"")*1)

Merci de bien vouloir m'indiquer comment unifier ces formules dans une seule pour l'utiliser quelle que soit la durée en A1.

Merci d'avance.
 

Pièces jointes

Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonjour Eddy,

Je veux pouvoir avec des valeurs en A1, A2, A3...sous forme 3h25min3s..., les transformer en format hh:mm:ss pour en faire ensuite une somme (durée totale des valeurs de toutes les lignes (voir fichier joint)
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

J'entends bien, mais la question est celle de la syntaxe d'imbrication du "SI(OU(TROUVE(SUBSTITUE" pour les 3 cas de figure, le tout étant d'avoir une formule unique quel que soit le contenu des lignes de la colonne A. Telle est ma problématique.
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonjour,

Peut être une solution ici :

=SI(NBCAR(A3)>8;SUBSTITUE(SUBSTITUE(SUBSTITUE(A3;"h";":");"min";":");"s";"")*1;SI(NBCAR(A3)>3;SUBSTITUE(SUBSTITUE(A3;"min";":");"s";"")/60;SUBSTITUE(A3;"s";"")/(3600*24)))

Explication : Si il y a plus de 8 caractères, c'est que l'on a des heures, donc j'ai repris ta formule des heures
Sinon,
Si il y a plus de 3 caractères, c'est qu'il y a des minutes, donc j'ai repris ta formule des minutes
Sinon,
C'est qu'il y a uniquement des secondes et j'ai repris ta formule des secondes.

En espérant avoir bien compris ta demande
Cordialement
Lolote83
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonjour à tous


Un essai :​
Code:
=SI(A1="";"";--SUBSTITUE(SUBSTITUE(SUBSTITUE(
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=0;A1;"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=1;"0:"&A1;"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=2;SUBSTITUE(A1;"h";":0:");"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=3;"0:0:"&A1;"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=4;A1;"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=5;"0:"&A1;"")&
SI(ESTERR(CHERCHE("h";A1))+2*ESTERR(CHERCHE("min";A1))+4*ESTERR(CHERCHE("s";A1))=6;A1;"");
"h";":");"min";":");"s";""))

Comment ça, c'est lourd ?​




ROGER2327
#5986


Mercredi 4 Gidouille 139 (Sainte Tripe, républicaine - fête Suprême Quarte)
30 Prairial An CCXX, 6,2029h - chariot
2012-W25-1T14:53:13Z
 
Dernière édition:
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonjour juanmarco, Bonjour eddy, bonjour Lolote, Bonjour Roger 🙂,

Dans la mesure où il semble y avoir toujours des secondes, un essai

Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SI(ESTNUM(CHERCHE("h";A1));"";"00h")&SI(ESTNUM(CHERCHE("min";A1));"";"00min")&A1;"s";"");"min";":");"h";":")*1
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Re...


D'accord, c'est lourd ! Allégeons :​
Code:
=SI(B3="";"";--SUBSTITUE(SUBSTITUE(SUBSTITUE(
SI(ESTERR(CHERCHE("h";B3))+2*ESTERR(CHERCHE("min";B3))=2;SUBSTITUE(B3;"h";":0:");
SI(ESTERR(CHERCHE("h";B3))+2*ESTERR(CHERCHE("min";B3))=1;"0:"&B3;"")&
SI(ESTERR(CHERCHE("h";B3))*ESTERR(CHERCHE("min";B3));"0:0:"&B3;"")&
SI(ESTERR(CHERCHE("h";B3));"";B3));
"h";":");"min";":");"s";""))



ROGER2327
#5987


Mercredi 4 Gidouille 139 (Sainte Tripe, républicaine - fête Suprême Quarte)
30 Prairial An CCXX, 7,0886h - chariot
2012-W25-1T17:00:45Z
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonjour à tous,

Une solution par fonction VBA :

Code:
Function CONV(txt$) As Date
txt = Replace(txt, " ", "") 'sécurité
CONV = R(txt, "h") / 24 + R(txt, "min") / 1440 + R(txt, "s") / 86400
End Function

Function R&(txt$, t$)
Dim pos%, i%
pos = InStr(txt, t)
If pos = 0 Then Exit Function
For i = pos - 1 To 1 Step -1
  If Not IsNumeric(Mid(txt, i, 1)) Then Exit For
Next
R = Val(Mid(txt, i + 1))
End Function
Fichier joint.

A+
 

Pièces jointes

Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonsoir à Eddy, Lolote, Tototiti et Roger,

Vous avez fait un excellent travail dont je vous remercie très sincèrement.

Cependant les résultats bien que très satisfaisants ne sont pas encore parfaits dans tous les cas de figure. J'ai bien essayé de modifier les formules mais je tombe de Charybde en Scylla !
Aussi, je joins un fichier qui reprend vos formules et les résultats obtenus afin que vous puissiez les optimiser autant que faire se peut.

Merci d'avance pour vos résultats dont je ne doute pas.

Bien cordialement
juanmarco
 

Pièces jointes

Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonsoir Job75,

Toutes mes excuses, mais je n'avais pas retenu votre solution dans la mesure où j'utilise open office et que je ne peux pas importer les macros issues d'Excel. Vous n'avez pas démérité pour autant. Je vous suis reconnaissant pour l'aide apportée.

Bien cordialement
juanmarco
 
Re : Convertir des heures au format 1h25min3s au format 01:25:03

Bonsoir à tous


Bonsoir à Eddy, Lolote, Tototiti et Roger,

Vous avez fait un excellent travail dont je vous remercie très sincèrement.

Cependant les résultats bien que très satisfaisants ne sont pas encore parfaits dans tous les cas de figure. J'ai bien essayé de modifier les formules mais je tombe de Charybde en Scylla !
Aussi, je joins un fichier qui reprend vos formules et les résultats obtenus afin que vous puissiez les optimiser autant que faire se peut.

Merci d'avance pour vos résultats dont je ne doute pas.

Bien cordialement
juanmarco
Mort de rire, le Roger ! J'en ai déjà vu pas mal, mais celle-là, on ne me l'avait jamais faite !

Merci à vous juanmarco : les occasions de rigoler ne sont pas tellement nombreuses ces temps-ci.

J'ai optimisé à donf dans le classeur joint. Bonne nuit !​



ROGER2327
#5989


Mercredi 4 Gidouille 139 (Sainte Tripe, républicaine - fête Suprême Quarte)
30 Prairial An CCXX, 9,1290h - chariot
2012-W25-1T21:54:34Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour