Bonjour,
Une proposition avec une fonction personnalisée (VBA). A adapter suivant les cas qui peuvent se présenter.
L'énoncé ne parlait pas de Sec(s).
ALT F11 pour ouvrir l'éditeur VBE ; voir Module1.
Cdlt.
Option Explicit
Public Function ConverTextToSeconds(sText As String)
Dim x
Dim i As Long
Dim y As Double
'----------------------------------------------------------------
' Si utilisation dans une feuille de calcul
Application.Volatile
'----------------------------------------------------------------
x = Split(Trim(sText))
i = UBound(x)
'----------------------------------------------------------------
Select Case i
Case 5
y = x(0) * 86400 + x(2) * 3600 + x(4) * 60
Case 3
Select Case True
Case x(1) = "Jour(s)" And x(3) = "Heure(s)"
y = x(0) * 86400 + x(2) * 3600
Case x(1) = "Jour(s)" And x(3) = "Min(s)"
y = x(0) * 86400 + x(2) * 60
Case x(1) = "Heure(s)" And x(3) = "Min(s)"
y = x(0) * 3600 + x(2) * 60
End Select
Case 1
Select Case x(1)
Case "Jour(s)"
y = x(0) * 86400
Case "Heure(s)"
y = x(0) * 3600
Case "Min(s)"
y = x(0) * 60
Case Else
' il n'y avait pas de secondes dan l'énoncé !!!
y = x(0)
End Select
End Select
'----------------------------------------------------------------
ConverTextToSeconds = y
End Function