Heures et condition

Bonjour à tous, voici, je planche depuis une semaine sur un probleme d'heure et de condition

Respectivement en A1, B1, C1 et D1 j'ai des horaires de travail

7:58 12:27 13:14 18:25

Dans la cellule E1, ils voudraient obtenir le résultat de ces heures, c'est a dire l'heure du soir moins l'heure du matin, moins l'écart d'heure entre midi et 2.

Ce qui donne en formule :

D1 - A1 - (C1-B1) le tout sous vba, jusque là rien de bien compliqué, mais ensuite ils voudraient que si la personne arrive avant 7:45 alors on ne compterait qu'a partir de 7:45 tout en conservant l'horaire réel, que si l'écart de temps entre midi et deux soit inférieur a une heure, alors compter au moins une heure, et enfin si l'on part apres 18:30, que l'on s'arrete de compter a partir de 18:30, donc si quelqu'un saurait comment obtenir le résultat sans transformer les valeurs sous VBA, cela m'aiderait beaucoup ^^

Bonjour colpasus,

Essaie avec cette formule :

=SI(D1<"18:30";D1;"18:30")-SI(A1<"7:45";"7:45"*1;A1)-SI((C1-B1)<"1:"*1;"1:"*1;C1-B1)

cela marche presque, il y a une erreur avec 7:45, quelque soit la valeur que je place en A1 il considere qu'elle est inférieure a 7:45

Un problème de format de cellule.

Et avec cette formule ?

=SI(D1<"18:30"*1;D1;"18:30"*1)-SI(A1<"7:45"*1;"7:45"*1;A1)-SI((C1-B1)<"1:"*1;"1:"*1;C1-B1)

Non c'est bon j'ai résolu le probleme, j'ai remplacé le B1<7:45 par B1<0.32291666666666 qui si on le multiplie par 24 donne 7,75 et donc 7heure et 45 minutes =)

P.S : si tu pouvais m'aider sur mon second probleme qui s'intitule

"Excel, VBA, onglet et copier coller"

Ce serait vraiment gentil. Merci pour ton aide en tout cas

Bonjour,

une petite proposition :

Sub test()
Dim DébutM As String, FinM As String, DébutAp As String, FinAp As String
Dim HeureMd As String, HeureMF As String, HeureApD As String, HeureApF As String
Dim DébutCompte As String, HeureMatin As String, FinCompte As String, HeureAp As String
Dim MinutesTotale As Long

'Les heures de références
DébutM = "07:45"
FinM = "12:00"
DébutAp = "14:00"
FinAp = "18:30"

'Les heures saisies
HeureMd = "07:48"
HeureMF = "12:27"
HeureApD = "13:14"
HeureApF = "18:29"

DébutCompte = IIf(DateDiff("s", HeureMd, DébutM) <= 0, HeureMd, DébutM)
HeureMatin = DateDiff("n", DébutCompte, HeureMF)
FinCompte = IIf(DateDiff("s", FinAp, HeureApF) <= 0, HeureApF, FinAp)
HeureAp = DateDiff("n", HeureApD, FinCompte)
MinutesTotale = CLng(HeureMatin) + CLng(HeureAp)
End Sub
colpasus a écrit :

Non c'est bon j'ai résolu le probleme, j'ai remplacé le B1<7:45 par B1<0.32291666666666

Oui mais c'est une valeur approchée. Dans la dernière formule que je t'ai donné, le problème est réglé en multipliant "7:45" par 1.
colpasus a écrit :

P.S : si tu pouvais m'aider sur mon second probleme qui s'intitule

"Excel, VBA, onglet et copier coller"

Banzai et paritec sont déjà dessus. Laisse leur le temps de réfléchir à une solution.
Rechercher des sujets similaires à "heures condition"