A
axelle la débutante
Guest
5 > 15 pour mon ordinateur !
Bonjour le forum, les forumeux, bonjour à tous
j'ai créé une petite macro pour un probleme d'horaire avec double montée. Je veux pouvoir faire une simple soustraction pour savoir le nombre d'heures travaillées.
Quand heure2 ou heure4 finit après minuit le calcul se fait avec un rajout de 24 dans la soustraction:
si heure2 >heure1 alors Val1 : heure2 - heure1
si heure2<heure1 alors Val1 : heure2 + 24 - heure 1
si heure 4 > heure 3 alors val2 : heure4- heure3
si heure 4 >heure 3 alors val2 : heure4 +24 - heure3
En clair, voila ma macro :
Le tableau
nom heure1 heure3
heure2 heure4
val1 0
val2 0
total 0
La macro
Dim base As Integer, val1 As Integer, val2 As Integer
Dim heure1 As String, heure2 As String, heure3 As String, heure4 As String
heure1 = Range("c8")
heure2 = Range("c9")
heure3 = Range("d8")
heure4 = Range("d9")
If heure1 < heure2 Then val1 = heure2 - heure1
If heure1 > heure2 Then val1 = heure2 + 24 - heure1
If heure4 < heure3 Then val2 = heure4 + 24 - heure3
If heure4 > heure3 Then val2 = heure4 - heure3
If heure2 = "cp" Then val1 = 0
If heure2 = "cm" Then val1 = 0
If heure2 = "at" Then val1 = 0
If heure4 = "cp" Then val2 = 0
If heure4 = "cm" Then val2 = 0
If heure4 = "at" Then val2 = 0
Range("d10") = val1
Range("d11") = val2
base = val1 + val2
Range("d12") = base
End Sub
Par contre quelle que soit l'heure (heure1, heure2, heure3, heure4) si la donnée saisie est soit 2;3;4;5;6;7;8;9, l'ordinateur considére que la donnée est supérieure à l'heure dans la soustraction. Donc le calcul se fait avec la mauvaise formule...
C'est un probleme qui en plus ne se pose pas avec 1 et tous les chiffres au dessus de 10.
Si quelqu'un comprend pourquoi et aurait une idée pour résoudre ce probleme... En tout cas merci d'avance et bon courage à tous ceux qui cherchent les solutions.
A +
A bientot
Merci
Bonjour le forum, les forumeux, bonjour à tous
j'ai créé une petite macro pour un probleme d'horaire avec double montée. Je veux pouvoir faire une simple soustraction pour savoir le nombre d'heures travaillées.
Quand heure2 ou heure4 finit après minuit le calcul se fait avec un rajout de 24 dans la soustraction:
si heure2 >heure1 alors Val1 : heure2 - heure1
si heure2<heure1 alors Val1 : heure2 + 24 - heure 1
si heure 4 > heure 3 alors val2 : heure4- heure3
si heure 4 >heure 3 alors val2 : heure4 +24 - heure3
En clair, voila ma macro :
Le tableau
nom heure1 heure3
heure2 heure4
val1 0
val2 0
total 0
La macro
Dim base As Integer, val1 As Integer, val2 As Integer
Dim heure1 As String, heure2 As String, heure3 As String, heure4 As String
heure1 = Range("c8")
heure2 = Range("c9")
heure3 = Range("d8")
heure4 = Range("d9")
If heure1 < heure2 Then val1 = heure2 - heure1
If heure1 > heure2 Then val1 = heure2 + 24 - heure1
If heure4 < heure3 Then val2 = heure4 + 24 - heure3
If heure4 > heure3 Then val2 = heure4 - heure3
If heure2 = "cp" Then val1 = 0
If heure2 = "cm" Then val1 = 0
If heure2 = "at" Then val1 = 0
If heure4 = "cp" Then val2 = 0
If heure4 = "cm" Then val2 = 0
If heure4 = "at" Then val2 = 0
Range("d10") = val1
Range("d11") = val2
base = val1 + val2
Range("d12") = base
End Sub
Par contre quelle que soit l'heure (heure1, heure2, heure3, heure4) si la donnée saisie est soit 2;3;4;5;6;7;8;9, l'ordinateur considére que la donnée est supérieure à l'heure dans la soustraction. Donc le calcul se fait avec la mauvaise formule...
C'est un probleme qui en plus ne se pose pas avec 1 et tous les chiffres au dessus de 10.
Si quelqu'un comprend pourquoi et aurait une idée pour résoudre ce probleme... En tout cas merci d'avance et bon courage à tous ceux qui cherchent les solutions.
A +
A bientot
Merci