Substring like dans Excel....

goldorax113

XLDnaute Nouveau
Bonjour à tous,

j'ai une chaine de caractères "3h43m08s" que je voudrais transformer en date compréhensible par excel. Comment puis-je faire ?
Je n'ai pas trouvé d'equivalant au substring que l'on trouve dans certains langages...

Merci pour votre aide :)
 

Raja

XLDnaute Accro
Re : Substring like dans Excel....

Bonjour,

Tu voulais dire en format heure compréhensible par Excel ? Utilise la formule suivante pour transformer la chaîne contenue dans la cellule A1 :

Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"h";":");"m";":");"s";"")*1

Met la cellule de la formule au format heure.
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : Substring like dans Excel....

Bonsoir


Code:
Sub macro()
Dim d$
Dim MyTime
Dim h As Long
Dim m As Long
Dim s As Long
d = "3h43m08s"
h = InStr(1, d, "h")
m = InStr(1, d, "m")
s = InStr(1, d, "s")
strH = CDbl(Mid(d, 1, h - 1))
strM = CDbl(Mid(d, h + 1, 2))
strS = CDbl(Mid(d, m + 1, 2))
MyTime = TimeSerial(strH, strM, strS)
MsgBox MyTime
End Sub

A+
 

tototiti2008

XLDnaute Barbatruc
Re : Substring like dans Excel....

Bonjour Raja, Bonjour PierreJean, Bonjour Goldorak,

La formule de Raja est parfaite, sauf si certaines cellules ne contiennent pas de "h".
Est-ce le cas ?

Le code de PierreJean est surement excellent, mais je ne peux toujours pa ouvrir les zip alors... ;)
 

pierrejean

XLDnaute Barbatruc
Re : Substring like dans Excel....

Re

Pleure pas Tototiti :) :)

Code:
Function trad_date(texte As String)
x = InStr(texte, "h")
Heures = CInt(Left(texte, x - 1))
Minutes = CInt(Mid(texte, x + 1, 2))
Secondes = CInt(Mid(texte, x + 4, 2))
trad_date = Heures / 24 + Minutes / 1440 + Secondes / 86400
End Function

Elle contraint a une forme 00h00m00s
en bleu : Optionnel

Edit: Salut a tous
 

skoobi

XLDnaute Barbatruc
Re : Substring like dans Excel....

Bonjour tout le monde,

une incursion dans le monde de la formule.
Quand je vois celle de raja, je crois que je vais retourné au VBA vite fait :D

Code:
=TEMPSVAL(GAUCHE(A1;TROUVE("h";A1)-1)&":"&STXT(A1;TROUVE("h";A1)+1;2)&":"&STXT(A1;TROUVE("m";A1)+1;2))
N'est-ce pas?:eek:
 

vbacrumble

XLDnaute Accro
Re : Substring like dans Excel....

Re


Mon code VBA naquit uniquement pour "3h43m08s"

Pas le temps ce soir d'aller plus loin que 03:43:08 ;)

EDiTION: en m'inspirant de Raja
Code:
Sub macro()
Dim d$
Dim MyTime
Dim h As Long
Dim m As Long
Dim s As Long
d = "3h43m08s"
d = Left(d, Len(d) - 1)
d = Replace(Replace(d, "h", ":"), "m", ":")
MyTime = _
TimeSerial(Split(d, ":")(0), _
    Split(d, ":")(1), _
    Split(d, ":")(2))
MsgBox MyTime
End Sub

A+
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Substring like dans Excel....

Bonjour à tous,

Bon, comme je pousse les questions quand elles me semblent pas assez compliquées (doit être un peu tordu, moi), le minimum est de proposer une solution à la question tordue... ;)
 

Pièces jointes

  • ConvHeur.xls
    22.5 KB · Affichages: 152

Discussions similaires

Réponses
2
Affichages
328