Addition et soustraction d'heures

cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008 - 4 oct. 2008 à 02:31
cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008 - 10 nov. 2008 à 09:26
   Bonsoir, Je suis en train de developper un logiciel pour l'étude de duty des pilotes d'avion. Il est basée sur des caluculs d'addition et soustraction d'heures de vol contre les heures de la journée:plus d'heures de vol=moins de temps de travail=+plus de rèpos. Je n'arrive pas a additionner des heüres format 00:00 ou à les soustraire. Pouvais vous m'aider? Deuxième probléme, Existe-t-il une façon de faire que le logiciel sache quand le vol (en le donnant une heure de depart et un temps de vol) quand et combien de temps il a pasée dans la periode 02:00 - 05:59, cycle circadien.

Merci beaucoup pour votre aide.
A voir également:

6 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 oct. 2008 à 08:41
Bonjour,

1) Pour calculer une durée, l'heure de fin et l'heure de début ne suffisent pas ! Il est bien évidemment nécessaire de connaître également les dates de début et de fin.
2) L'utilisation de DateDiff ( avec "N") te permet de calculer le nombre de minutes écoulées entre deux dates
3) la transformation en heures et minutes d'un nombre de minutes est un exercice scolaire primaire.
0
cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008
6 oct. 2008 à 12:57
Merci Beaucoup pour ta réponse. Je suis nouveau dans ce site, que je trouve génial. Je vois aussi que tu es référence de part ta connaissance, chapeau. Néanmoins mon problème est plus orienté vers le DateAdd. La question est la suivante: Nous avons une heure de départ (hh:mm) à laquelle il faudra lui ajouter Leg1+Leg2+...+Leg6 tous en format "hh:mm" qui nous donne une heure d'arrivée tenant en compte aussi qu'entre Legs il y a une heure de différence: HeureDep + Leg1+Leg2+...Leg6+1 heure entre Legs=HeureArr. Tous ces informations sont variables (remplie par l'utilisateur). Après, Leg1+Leg2+...Leg6+1 heure entre Legs = TotalDuty.
Voilà, je ne vois pas en quoi la date rentre en ligne de compte vu qu'il s'agit es temps de vol, la date serait importante pour l'info d'arrivée dans l'hypothèse d'un départ tardive, ex: 23:00 "17/10/2008"+ 04:50 de vol+1 heure au sol + 02:50 de vol = HeureArr 07:40"18/10/2008" du jour d'après.
Voilà, peut être ça peut sembler très basique a ton niveau mais je ne vois pas comment le coder.
Merci pour ton aide et ta patience.Bonne journée.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
0
cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008
6 oct. 2008 à 13:13
Désolé, DateDiff pour la différence dans le cycle circadien (entre
02:00 - 05:59)
. Sorry, je vois.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






 






Mais toujours pas d’idée pour le DateAdd.






 






Merci beaucoup pour ton aide.


 
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 oct. 2008 à 14:47
Re,

1) et surtout : jamais de MP pour une question technique ! les questions et les réponses doivent être connues de tous !
2) qu'un vol démarre tardivement ou non, la date reste importante car même partant tôt, la durée de vol peut le conduire à une date d'arrivée différente de celle de départ !
3) je ne comprends pas ton problème de Dateadd..


si tu as plusieurs durées exprimées en HH:MM, traduis-les donc en minutes (je te rapelle qu'il y a 60 minutes dans une heure !...) et fais en le total  !


toto = "10:22"
tata = "02:01"
mesminutes = (Hour(toto) + Hour(tata)) * 60 + Minute(toto) + Minute(tata)
MsgBox mesminutes

Où est le problème ? (exercice de primaire)
Utilise ensuite ce nombre de minutes comme tu l'entends
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008
5 nov. 2008 à 10:31
Merci beaucoup pour ta réponse.

toto = "10:22"
tata = "02:01"
mesminutes = (Hour(toto) + Hour(tata)) * 60 + Minute(toto) + Minute(tata)
MsgBox mesminutes

Ceci marche parfaitement, mais comment faire pour faire de "10:22" et "02:01" des variables que l'usager remplie lui même sur une form?  ça doit être Format mais je n'arrive pas a faire ceci.
Encore une fois merci.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






Encore une fois merci.
0
cs_CUTO Messages postés 5 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 10 novembre 2008
10 nov. 2008 à 09:26
C'est ok, j'ai trouvé.

Merci
0