Calcul heure Excel

[Résolu]
Signaler
Messages postés
40
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
18 décembre 2006
-
Messages postés
40
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
18 décembre 2006
-
Bonjour a vous voila mon probleme

j'ai créé mon Userform1 dans Excel et j'ai créé 3 cases

1ère : Heure d'arret ex : 12h15
2ème : Heure de reprise ex : 13h30
3ème : Différence ex : 1h15

Je veux en rentrant les Heures d'arret et heure de reprise, afficher automatiquement la différence et donc le total

Mon programme ne réalise le calcul que si j'ai un compte ronr, ex : 13h00 - 12h00 = 1h00

Ca c'est ok mais j'arrive pas a gerer les minutes

Si quelqu'un pouvait m'aider

********************************
Voici mon prog
********************************

'************************************************************************
'Calcul automatique de la durée Arrêt Production
'************************************************************************
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)


Dim a, b, c As Variant
a = 0
b = 0
c = 0


If TextBox5 = "" Then
Else
a = Left(TextBox4, InStr(TextBox4, "h") - 1)
b = Left(TextBox5, InStr(TextBox5, "h") - 1)


If b > a Then
c = b - a
Else
c = (b + 24) - a
End If

If c < 10 Then
TextBox6 = "0" & c & "h00"
Else
TextBox6 = c & "h00"
End If


End If
End Sub
'************************************************************************
'Calcul automatique de la durée Arrêt Production
'************************************************************************
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)


Dim a, b, c As Variant
a = 0
b = 0
c = 0


If TextBox4 = "" Then
Else
a = Left(TextBox4, InStr(TextBox4, "h") - 1)
b = Left(TextBox5, InStr(TextBox5, "h") - 1)


If b > a Then
c = b - a
Else
c = (b + 24) - a
End If

If c < 10 Then
TextBox6 = "0" & c & "h00"
Else
TextBox6 = c & "h00"
End If


End If
End Sub

4 réponses

Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Lut,
C'est normal c'est toi qui demande de ne prendre que la partie gauche de "12h15"
a = Left(TextBox4, InStr(TextBox4, "h") - 1)
b = Left(TextBox5, InStr(TextBox5, "h") - 1)
Donc si l'on reprend ton code ......

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Date1 As Date: Dim Date2 As Date


If TextBox2 = "" Then
'MsgBox "La deuxième heure doit être entrée !!"
Else
Date1 = Replace(TextBox1, "h", ":")
Date2 = Replace(TextBox2, "h", ":")
If Date2 > Date1 Then
TextBox6 = CDate(Date2 - Date1)
Else
TextBox6 = CDate(Date1 - Date2)
End If

End If


End Sub


Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Date1 As Date: Dim Date2 As Date


If TextBox2 = "" Then
'MsgBox "La première heure doit être entrée !!"
Else
Date1 = Replace(TextBox1, "h", ":")
Date2 = Replace(TextBox2, "h", ":")
If Date2 > Date1 Then
TextBox6 = CDate(Date2 - Date1)
Else
TextBox6 = CDate(Date1 - Date2)
End If
End If


End Sub
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
salut

tu peux calculer la différence entre deux heures comme ceci :

deltaEnMinute = DateDiff("n", HeureDebut, HeureFin)
deltaEnHeureMinuteSeconde DateAdd("n", delta, "00:00:00")

le DateDiff te renvoi le nombre de minute entre les deux dates placee en parametre
le DateAdd te permet de convertir le nombre de minute en heures:minutes
Messages postés
40
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
18 décembre 2006
1
RE : Jean-Paul

Désolé mais ton code marche pas dans mon programme Excel il me met : Nom ambigu détecté : TextBox1_Exit

Voila as tu une solution pour moi ???
Messages postés
40
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
18 décembre 2006
1
Si c'est bon ca marche je te remercie c'est moi qui ai fait une fausse manip

Merci beaucoup