Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU]Heure Minute en Heure Centième - VB

Ternoise

XLDnaute Occasionnel
Bonsoir le Forum

Je viens de m’apercevoir d’un problème dans le calcul d’heure

Ce bout de code calcul des heures minutes
If TextAmplitude <> "" Then Me.TextEffectif = heure(Me.TextAmplitude) * Val(Replace(Me.TextCoef, ",", "."))

Exemple actuellement quand

TextAmplitude = 8 :30
Coef = 0,90
TextEffectif = 7,65

Or j’aimerais avoir des heures au centième

Soit TextEffectif = 7,39

Mais comment changer ceci ?

Merci de votre aide
David
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Heure Minute en Heure Centième - VB

Bonjour Ternoise, le forum,

Oui il faut utiliser Format :

Code:
Private Sub CommandButton1_Click()
If Not IsDate(TextAmplitude) Then TextAmplitude.SetFocus: Exit Sub
TextEffectif = heure(TextAmplitude, TextCoef)
End Sub

Function heure(dat As Date, coef As String)
heure = 24 * dat * Val(Replace(coef, ",", "."))
heure = Int(heure) & ":" & Format(60 * (heure - Int(heure)), "00")
End Function
Et si coef n'est jamais supérieur à 1 c'est plus simple :

Code:
Private Sub CommandButton1_Click()
If Not IsDate(TextAmplitude) Then TextAmplitude.SetFocus: Exit Sub
TextEffectif = Format(CDate(TextAmplitude) * Val(Replace(TextCoef, ",", ".")), "hh:mm")
End Sub
Noter que l'arrondi des minutes n'est pas le même.

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…