Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ADDITION ET SOUSTRACTION D'HEURES


Information sur la source

Catégorie :Date & Heure Classé sous : addition, soustraction, heure Niveau : Débutant Date de création : 14/06/2001 Vu : 16 344

Note :
5,2 / 10 - par 5 personnes
5,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description


 

Source

  • 'pour une addition operation=0, pour une soustraction operation=1
  • Public Function heurop(heure1 As String, heure2 As String, operation As Integer) As String
  • If operation = 0 Then
  • somme = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) + Val(DatePart("h", heure2)) * 3600 + Val(DatePart("n", heure2)) * 60 + Val(DatePart("s", heure2))
  • heurop = Str(somme \ 3600) + ":" + Str((somme - (somme \ 3600) * 3600) \ 60) + ":" _
  • + Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60)
  • ElseIf operation = 1 Then
  • diff = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) - Val(DatePart("h", heure2)) * 3600 - Val(DatePart("n", heure2)) * 60 - Val(DatePart("s", heure2))
  • heurop = Str(diff \ 3600) + ":" + Str((diff - (diff \ 3600) * 3600) \ 60) + ":" + _
  • Str(diff - ((diff \ 3600) * 3600) - ((diff - (diff \ 3600) * 3600) \ 60) * 60)
  • End If
  • End Function
'pour une addition operation=0, pour une soustraction operation=1
Public Function heurop(heure1 As String, heure2 As String, operation As Integer) As String
If operation = 0 Then
somme = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) + Val(DatePart("h", heure2)) * 3600 + Val(DatePart("n", heure2)) * 60 + Val(DatePart("s", heure2))
heurop = Str(somme \ 3600) + ":" + Str((somme - (somme \ 3600) * 3600) \ 60) + ":" _
+ Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60)
ElseIf operation = 1 Then
diff = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) - Val(DatePart("h", heure2)) * 3600 - Val(DatePart("n", heure2)) * 60 - Val(DatePart("s", heure2))
heurop = Str(diff \ 3600) + ":" + Str((diff - (diff \ 3600) * 3600) \ 60) + ":" + _
Str(diff - ((diff \ 3600) * 3600) - ((diff - (diff \ 3600) * 3600) \ 60) * 60)
End If
End Function  

Commentaires et avis

signaler à un administrateur
Commentaire de syphon le 14/05/2002 12:52:53

merci pour le code

signaler à un administrateur
Commentaire de GarnetDiAlexandros le 02/10/2002 14:34:02

C'est bien, mais je trouve que tu ne donnes pas assez de précisions, du genre
si heure1 va être ajoutée à heure2 ou le contraire, et surtout quel doit être le format des heures...
Ton code marche sûrement très très bien, mais il est difficile à comprendre malheureusement

signaler à un administrateur
Commentaire de Warny le 24/02/2003 11:55:15

Il y a infiniment plus simple :
NouvelleHeure = AncienneHeure + TimeSerial(nbHeures, nbMinutes, nbSecondes)

signaler à un administrateur
Commentaire de philippe laschweng 1 le 05/08/2005 11:48:19

Coucou, pas mal ta source. Je me suis permis de faire une petite modif (TimeSerial) pour obtenir un résultat de sortie normalisé :
01:02:12 au lieu de 1:2:12


'pour une addition operation=0, pour une soustraction operation=1
Public Function heurop(heure1 As String, heure2 As String, operation As Integer) As String
If operation = 0 Then
    somme = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) + Val(DatePart("h", heure2)) * 3600 + Val(DatePart("n", heure2)) * 60 + Val(DatePart("s", heure2))
    heurop = Str(somme \ 3600) + ":" + Str((somme - (somme \ 3600) * 3600) \ 60) + ":" + Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60)
    heurop = TimeSerial(Str(somme \ 3600), Str((somme - (somme \ 3600) * 3600) \ 60), Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60))
ElseIf operation = 1 Then
    diff = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) - Val(DatePart("h", heure2)) * 3600 - Val(DatePart("n", heure2)) * 60 - Val(DatePart("s", heure2))
    heurop = TimeSerial(Str(diff \ 3600), Str((diff - (diff \ 3600) * 3600) \ 60), Str(diff - ((diff \ 3600) * 3600) - ((diff - (diff \ 3600) * 3600) \ 60) * 60))
End If
End Function

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Problème addition/soustraction [ par kitcarflo ] Voila mon ptit problème que je n'arrive pas à résoudre.Voila une image qui va expliquer mon souci[URL=http://img186.imageshack.us/my.php?image=problem Addition et soustraction d'heures [ par CUTO ] 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 soustraction d'heure [ par snakeon ] Bonjour les amis,je ss un peu debutant en ce domaine la, j ai un time picker au format (hh,mm,ss) et je veux eliminer les secondes pour avoir le forma la soustraction d'heure en textbox [ par snakeon ] bonjour, comme je suis debutant en vb j'ai du mal a compléter cette opération, les information sont les suivantes:- heure1 (heure d'entrée) en textbox pb addition heure sous access [ par kefir1998 ] bonjorj'ai un petit soucis sous access 97 dans une requete je demande a ajouter les heures d'une semaine mais  quand ca depasse 24 heures il reviens à Addition et soustraction [ par balila ] balili Gestion des licences d'une application [ par rollslesage ] Bonjour à la communauté!Je viens vers vous pour solliciter de votre aide.Voila je developpe ne application en VB dans laquelle je doit prendre en comp Addition entre plusieurs TexBox [ par emilol ] Bonjour,je souhaite avoir un petit coup de main pour faire une addition entre des valeurs rentrées dans 10 textbox.Sauf que lorsque j'effectue le calc probleme d'addition [ par DjMedz ] bonsoir a tous, j'ai un petit probleme de calcul qui me rend dingue depuis 2 jours :(.. voila, jai 12 label avec chacun un chiffre dessus. ce que j'ai petit soucis access [ par kefir1998 ] BONJOURj'ai un petit soucis sous access 97  sur la creation d'une requete. voici le probleme : j'ai une reque qui calcul la difference entre une heure


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.