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 & SOUSTRACTION D'HEURE SUR UNE BASE DE 24H


Information sur la source

Catégorie :Date & Heure Classé sous : addition, soustraction, heure Niveau : Débutant Date de création : 23/07/2000 Vu / téléchargé: 20 925 / 739

Note :
7,25 / 10 - par 16 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cette fontion permet d'ajouter ou de retrancher des Heures.
 

Source

  • Dim Second_Temp As Integer 'Stock temporairement la valeur des Secondes
  • Dim Minute_Temp As Integer 'Stock temporairement la valeur des Minutes
  • Dim Heure_Temp As Integer 'Stock temporairement la valeur des Heures
  • 'Operation Doit être positif pour un addittion des heures et negatif pour la soustration.
  • 'Time1 et Time2 sont de la forme "##:##:##"
  • 'Operation doit être différent de 0 sinon Time_operation = Time1
  • 'Le retour Time_Operation() est de la forme "##:##:##"
  • Private Function Time_operation(ByRef Time1 As String, ByRef Time2 As String, ByRef Operation As Integer)
  • Operation = Sgn(Operation)
  • Second_Temp = Val(Right(Time1, 2)) + Val(Right(Time2, 2)) * Operation
  • Minute_Temp = Val(Mid(Time1, 4, 2)) + Val(Mid(Time2, 4, 2)) * Operation
  • Heure_Temp = Val(Left(Time1, 2)) + Val(Left(Time2, 2)) * Operation
  • If Second_Temp > 59 Or Second_Temp < 0 Then
  • Second_Temp = Second_Temp - 60 * Operation
  • Minute_Temp = Minute_Temp + 1 * Operation
  • End If
  • If Minute_Temp > 59 Or Minute_Temp < 0 Then
  • Minute_Temp = Minute_Temp - 60 * Operation
  • Heure_Temp = Heure_Temp + 1 * Operation
  • End If
  • If Heure_Temp > 23 Or Heure_Temp < 0 Then Heure_Temp = Heure_Temp - 24 * Operation ' enlever cette ligne pour suppr. la base 24H
  • Time_operation = Format(Heure_Temp, "0#") & ":" & Format(Minute_Temp, "0#") & ":" & Format(Second_Temp, "0#")
  • End Function
Dim Second_Temp As Integer     'Stock temporairement la valeur des Secondes
Dim Minute_Temp As Integer     'Stock temporairement la valeur des Minutes
Dim Heure_Temp As Integer      'Stock temporairement la valeur des Heures

'Operation Doit être positif pour un addittion des heures et negatif pour la soustration.
'Time1 et Time2 sont de la forme "##:##:##"
'Operation doit être différent de 0 sinon Time_operation = Time1
'Le retour Time_Operation() est de la forme "##:##:##"
Private Function Time_operation(ByRef Time1 As String, ByRef Time2 As String, ByRef Operation As Integer)
Operation = Sgn(Operation)
Second_Temp = Val(Right(Time1, 2)) + Val(Right(Time2, 2)) * Operation
Minute_Temp = Val(Mid(Time1, 4, 2)) + Val(Mid(Time2, 4, 2)) * Operation
Heure_Temp = Val(Left(Time1, 2)) + Val(Left(Time2, 2)) * Operation

If Second_Temp > 59 Or Second_Temp < 0 Then
  Second_Temp = Second_Temp - 60 * Operation
  Minute_Temp = Minute_Temp + 1 * Operation
End If
If Minute_Temp > 59 Or Minute_Temp < 0 Then
  Minute_Temp = Minute_Temp - 60 * Operation
  Heure_Temp = Heure_Temp + 1 * Operation
End If
If Heure_Temp > 23 Or Heure_Temp < 0 Then Heure_Temp = Heure_Temp - 24 * Operation ' enlever cette ligne pour suppr. la base 24H

Time_operation = Format(Heure_Temp, "0#") & ":" & Format(Minute_Temp, "0#") & ":" & Format(Second_Temp, "0#")
End Function
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de fbrt le 18/04/2002 09:41:11

Salut, ton code m'est bien utile, je l'ai utilisé pour un programme. Mais je cherche aussi une fonction pour diviser une heure par un nombre entier (en arrondissant si ca tombe pas juste), par ex : 05:02:00 /2 = 02:31:00.
Tu sais pas comment je pourrais faire cette fonction ?

signaler à un administrateur
Commentaire de fbrt le 18/04/2002 12:25:44

Désolé pour ma question. Je viens de trouver une méthode : convertir en seconde, faire la division, remettre en heure. En plus, les conversions d'heure/seconde sont des sources de toi.  Merci quand meme, tes sources vont m'aider.

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

Très très bon code
ça marche du tonnerre et c'est bien expliqué

signaler à un administrateur
Commentaire de stefan69 le 31/05/2006 15:15:19

Trop TOP, la classe cette fonction.
J'explose de joie lorsqu'il me sort le bon chiffre.
J'ai tellement galèré dessus, bou, j'y pense plus :-)
Comme ils le disent si bien dans une pub 'heu reux'

signaler à un administrateur
Commentaire de jmfmarques le 25/03/2007 14:04:37

Mon commentaire ?

Pourquoi (sans jeu de mots) chercher midi à quatorze heure ?

Méthode scolaire et efficace, donc :

Private Sub Command1_Click()
  time1 = "01:40:20"
  time2 = "10:25:41"
  heures = Val(Hour(time1)) + Val(Hour(time2))
  minutes = Val(Minute(time1)) + Val(Minute(time2))
  secondes = Val(Second(time1)) + Val(Second(time2))
  ajustons secondes, minutes, 60
  DoEvents
  ajustons minutes, heures, 60
  MsgBox heures & " heures " & minutes & " minutes " & secondes & " secondes "
End Sub

Private Sub ajustons(quoi, quoiavant, combien)
  qui = quoi Mod combien
  quoiavant = quoiavant + (quoi \ combien)
  quoi = qui
End Sub

et on pourrait continuer avec ce même principe avec des 10èmes, des centième, des milliers, etc.... de secondes, bien évidemment

Private Sub Command1_Click()
  time1 = "01:40:20"
  time2 = "10:25:41"
  heures = Hour(time1) + Hour(time2)
  minutes = Minute(time1) + Minute(time2)
  secondes = Second(time1) + Second(time2)
  ajustons secondes, minutes, 60
  DoEvents
  ajustons minutes, heures, 60
  MsgBox heures & " heures " & minutes & " minutes " & secondes & " secondes "
End Sub

Private Sub ajustons(quoi, quoiavant, combien)
  qui = quoi Mod combien
  quoiavant = quoiavant + (quoi \ combien)
  quoi = qui
End Sub

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 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 affichage de la date et l'heure avaec access [ par scanadoo ] scanadoo salut tous! je cherche à afficher la date (pas de pb) et en même temps l'heure system lors d'un enregistrement dans une case date time. Manipulation datetime [ par BrokenArrow29 ] Bonjour tout le mondeje suis pas tres famillier avec les fonctions date, datetime...voici mon probleme.J'aimerais ajouter 48heures a une datetime qui date et heure [ par ptipuf ] Bonjour, Je vous fais part de mon problème. Je suis en train de codé une petite application qui normalement doit m'enregistrer la date et l'heure d'un Déclenchement d'évènements à partir d'un TimeSpan [ par ROCHEREAU ] Bonjour à tous.En tant que débutant je cherche à résoudre le problème suivant:J'entre une date à partir d'un DateTimePicker et une heure en H, M et S


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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 : 1,279 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é.