|
|
|
|
Bonjours à tous,
je voudrais savoir comment calculer des heures ce trouvant dans deux textbox et afficher le resultat dans une troisieme textbox.
ex: textbox1 je tappe 6:00
textbox2 je tappe 14:00
et textbox3 le resulta =8:00
la même chose pour des heures de nuit .
ex: textbox1 je tappe22:00
textbox2 je tappe 6:00
et textbox3 le resulta =8:00
je vous remerci d'avence pour vos réponces.
Configuration: windows xp sp2 pentium 4 à 2400
Bonjour joze,
Dim H1 As Date Dim H2 As Date H1 = CDate(TextBox1.Value) H2 = CDate(TextBox2.Value) TextBox3.Value = H1 + H2 Il te reste à gérer le format d'affichage, la gestion sur 12h ou 24h, le report d'un jour à l'autre... |
Boujour Armojax merci de prendre le temp de me répondre.
|
Re, joze... Juste quelques petits réglages.
Private Sub UserForm_Initialize() TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" End SubEnsuite, dans une autre procédure qui s'exécutera après la saisie dans les 2 premières textbox, tu mets le code que j'ai indiqué. Ça peut être, par exemple, la procédure Private Sub TextBox2_AfterUpdate qui s'exécute après la saisie dans la textbox2. Si on laisse les choses comme je les ai dites, le résultat n'est pas formaté, c'est-à-dire que le résultat sera du genre : - 17:48:00 (avec les secondes) si le résultat est inférieur à 24 heures, - 31/12/1899 03:15:00 dans le cas contraire. Pour formater avec seulement les heures et minutes, utilise la fonction Format. Voici ce que ça peut donner : Private Sub TextBox2_AfterUpdate() Dim H1 As Date Dim H2 As Date H1 = CDate(TextBox1.Value) H2 = CDate(TextBox2.Value) TextBox3.Value = Format(H1 + H2, "hh:mm") End Sub S'il s'agit d'une soustraction d'heures, tu adaptes. Si tu veux contrôler la saisie, il faut travailler sur du texte. Par exemple : - pas plus de 5 caractères (utiliser la propriété MaxLength) - deux caractères à droite numériques, et inférieurs à 60 - le précédent = ":" etc. |
Répondre à ze95
|
Répondre à nulos
|