Bonjour,

Je recherche le moyen de transformer une nombre en heure.

Exemple : 1,5 -> 1:30 ou encore 0,5 -> 0:30

Ps : j'ai trouvé dans le sens inverse en faisant (heures en décimales) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Me.Texte0.Value = (CDbl(Me.Texte2.Value * 24))
Evidemment si vous avez mieux...

J'ai trouvé quelques codes, mais je n'y arrive pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Me.Texte8.Value = (Ent(Me.Texte6.Value / 60) + (Me.Texte6.Value Mod 60) / 60) / 24
Problèmes avec le Ent...

ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dim Txt As String, Txt2 As String
a = CStr(Me.Texte6.Value)
Txt = Format(a, "dd/mm/yyyy hh:mm:ss")
Txt2 = Day(Txt) & "/" & Month(Txt) - 1 & "/" & Year(Txt) - 1900 & " " _
& Hour(Txt) & ":" & Minute(Txt) & ":" & Second(Txt)
Me.Texte8.Value = Txt2
Problème avec les heures...

Mais non

Pourriez-vous m'aider ?

Merci d'avance

EDIT :

J'ai trouvé, comme quoi il suffit de demander pour trouver... ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub TraduireHeureEnDécimale()
Dim D As Date, TB, Resultat As Single
    'Pour l'exemple, mais ça peu être en string
    D = "12:15"
    TB = Split(D, ":")
    Resultat = TB(0) + ((TB(1) * 100) / 60) / 100
End Sub
 
 
 
Sub TraduireDecimeleEnHeure()
Dim D As Single, Resultat, e
    'Pour l'exemple
    D = 1.25
    e = CStr(Round((D - Int(D)) / 100 * 60, 2)) & "0"
    Resultat = CStr(Int(D)) & ":" & Mid(e, 3, 2)
End Sub