Adittionner deux heure différente

Résolu
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010 - 3 juil. 2006 à 00:59
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010 - 4 juil. 2006 à 09:29
Bonjour
je souhaiterai ajouter deux heures mais je n'y  arrive pas, est t'il possible d'addionner 2 heures ou bien faut t-il passer par quelque chose de spécial?
voila ce que j'ai fait:
toto1 = Time
toto2 = "12:02:12"
toto2 = Format(toto2, "hh:mm:ss")

total = toto1 + toto2

et lorsque je teste j'ai une erreur d'imcompatibilié.
quelqu'un pourrais m'aide?
merci beauocup

13 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 juil. 2006 à 20:16
le plus simple et sécurisé serait :


Dim dShutdownTime as Date

    dShutdownTime = Now + TimeSerial( Text1.Text, Text2.Text, Text3.Text)


(en ajoutant, bien sur, une vérification d'erreur de saisie)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
3 juil. 2006 à 01:07
<Salut,

essaie ça plutôt :

Dim toto1 As Date, toto2 As Date, total as date

toto1 = Time
toto2 = "12:02:12"

total = toto1 + toto2

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juil. 2006 à 04:12
salut,
additionner 2 heures, c'est vague......
c'est 2 dates? (donc lendemain si somme > 24) ou juste ajout (possible 43:57:36)

voir TimeSerial

++
PCPT    [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
3 juil. 2006 à 10:19
merci mortalino je vais voir ce que je peux faire avec.
pour répondre a PCPT c'est effectivement passé au lentemain si la somme est supérieur a 24H, je vais essay de faire un petit code je reviendrai si ca ne marche pas :)
merci en tout ca
0

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

Posez votre question
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
3 juil. 2006 à 11:53
voila un petit code que je viens de fait :
<hr />
Private Sub Command1_Click()If Text1.Text "" Then Text1.Text "00"If Text2.Text "" Then Text2.Text "00"If Text3.Text "" Then Text3.Text "00"
Dim toto1 As Date, toto2 As Date, total As Date
toto1 = Time
toto2 = Text1.Text & ":" & Text2.Text & ":" & Text3.Text
total = toto1 + toto2
MsgBox total
If total > "23:59:59" Then
total = "24" - total
MsgBox total
End If
End Sub
<hr />
j'ai un soucis car lorsque l'heure que l'on rajoute dépace 24H ca m'inscrit un truc du style 31/12/1899 07:53:03.
d'ou peu venir ce problème?
merci d'avance
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juil. 2006 à 12:06
une simple concaténation de string n'est pas une date valide.

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
3 juil. 2006 à 13:14
Salut,

de toute façon les heures à partir de 24 heures sont transformées en jour et tu te retrouves avec une Date farfelue

pour avoir le total des heures il faut retransformer les jours en heures,

et ne jamais utiliser directement l'édition de la Date,,

mais utiliser le Fonctions Hours(), Minute(), Second()

    MsgBox Hour(total) + Int(total) * 24

Daniel
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 juil. 2006 à 13:54
Ajouter deux dates ? utiliser DateAdd....

pas de soucis, si on ajoute un temps à une date :

?  #07/03/2006 23:58:41# + #00:02:27#
04/07/2006 00:01:08

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
3 juil. 2006 à 19:12
je vous remercie beaucoup pour vos réponse.
vos message m'on fait réfléchir, je prend maintenant la date du jour avec l'heure:


<hr />
Dim toto1 As Date, toto2 As Date, total As Date
Private Sub Command1_Click()If Text1.Text "" Then Text1.Text "00"If Text2.Text "" Then Text2.Text "00"If Text3.Text "" Then Text3.Text "00"


toto1 = Now()
toto2 = Text1.Text & ":" & Text2.Text & ":" & Text3.Text
total = toto1 + toto2


MsgBox "le pc s'éteindra a " & total
Timer1.Enabled = True
End Sub


<hr />Mais j'ai une erreur dés que je veux ajouter 24H ou plus j'ai une erreur au niveau de toto2=
cela viens de ma déclaration de la variable toto2 As Date, mais je ne sais pas par quoi modifier pour qu'il n'y ai plus d'erreur.
vou savez une idée
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
3 juil. 2006 à 19:14
j'ai oublier de précisé que Text1, Text2 et Text3 corresponde a l'heure, minute et seconde.
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
3 juil. 2006 à 22:56
ca marche super comme ca, serait tu m'expliquer d'ou venez mon erreur, juste pour essayer de les comprendre :)

sinon  TimeSerial(heure, minute et seconde) créé une valeur variant de type Date?
si c'est le cas pourquoi ma technique ne marché pas?
je dois etre chiant quand meme :)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 juil. 2006 à 07:12
Ca fonctionne, si, dans ce cas.... mais là, VB doit transformer ta
chaine en date, ce qui es couteux, et qui peux ne pas fonctionner,
j'imagine ,selon les options regionales.


TimeSerial permet de travailler avec des valeurs numériques, ce qui
induit un traitement plus rapide, et qui enlève toute éventuelle
incompatibilité avec les paramètres régionnaux.


comme te l'as dit PCPT :

"une simple concaténation de string n'est pas (forcément) une date valide."

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
4 juil. 2006 à 09:29
a d'accord, merci beaucoup de votre aide a tous.
mon programme marche impec maitnenant :)
0
Rejoignez-nous