Probleme calcul d heure

ocejade Messages postés 55 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 6 avril 2015 - 16 août 2010 à 19:06
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 août 2010 à 20:38
bonjour a tous
je viens vers vous car j ais des question a vous poser
je vous mais ce que j ais coder avant de poser mes questions

Private Sub calculeHeure_Click()
Dim HeureEntree As Date
Dim Heuresortie As Date
Dim nbheure As String
Dim Heures As Integer, Minu As Integer, Sec As Integer

HeureEntree text1.Text: Heuresortie text2.Text
nbheure = Format(Heuresortie - HeureEntree, "hh:mm:ss")
Heures = Hour(nbheure)
Minu = Minute(nbheure)
Sec = Second(nbheure)
text3.Text = nbheure

End Sub

Private Sub Command1_Click()
Dim hnormal As Date
Dim nbheure As Date
Dim hsupp As String
Dim Heures As Integer, Minu As Integer, Sec As Integer
hnormal "06:30": nbheure text3.Text
hsupp = Format(nbheure - hnormal, "hh:mm:ss")
Heures = Hour(hsupp)
Minu = Minute(hsupp)
Sec = Second(hsupp)
text5.Text = hsupp
On Error Resume Next

If (text5.Text < text4.Text) Then text5.Text = "-" & text5.Text

If (text5.Text > text4.Text) Then text5.Text = "+" & text5.Text

End Sub

alors mes question sont
1 comment combiner les deux commande en une seul
2 comment coder pour que les lignes If (text5.Text < text4.Text) Then text5.Text = "-" & text5.Text

If (text5.Text > text4.Text) Then text5.Text = "+" & text5.Text
fonctionne

3 comment combiner le résultat de la text5 avec un total qui est dans un textbox 6
exemple
text6.text = text6.text + text5.text
en sachant que text4.text = hnormal
merci pour vos futur reponce et a bientot

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 août 2010 à 20:38
Salut
Regarde plutôt les commandes adaptées à ce genre de calcul : DateDiff et DateAdd

Integer n'accepte que des valeurs entre -32768 et +32767
Alors 32767 secondes, c'est vite atteint, méfie toi ! (--> erreur)
Préfère des types Long

"On Error Resume Next" à proscrire absolument : ce n'est pas normal d'avoir une erreur, c'est à ton programme d'envisager / tester les valeurs.
L'utilisation de cette instruction peut masquer des erreurs et t'amener ici sans savoir pourquoi ... ça marche pas.

Combinaison :
If (text5.Text < text4.Text) Then
    text5.Text = "-" & text5.Text
ElseIf (text5.Text > text4.Text) Then
    text5.Text = "+" & text5.Text 
End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous