Comment faire un calcul avec une concaténation ?
Résolu
coupidon
Messages postés
98
Statut
Membre
-
coupidon Messages postés 98 Statut Membre -
coupidon Messages postés 98 Statut Membre -
Bonjour,
Je débute en VBA, j'aimerais savoir comment on fait pour qu'une concaténation puisse être utilisé dans un calcul d'heure ?
j'ai ceci pour ma concaténation :
Private Sub TextBox10_AfterUpdate()
' Je défini une variable aléatoire comme H pour concatener les heures
Dim H As String
H = TextBox8.Value & ":" & TextBox9.Value & ":" & TextBox10.Value
TextBox16.Value = H
End Sub
je souhaiterais utiliser cette variable pour additionner l'heure en court avec now() par exemple et ma variable concatener, je sais pas comment m'y prendre en faite...
et que cette valeur puisse se retrouver dans mon textbox16 pour le résultat.
à savoir que sur le textbox8 je saisi les heures, textbox9 les minutes et textbox10 les secondes.
et que le textbox16 est la résultante du calcul de l'heure en court + les saisis.
merci de vos conseils et aides
Je débute en VBA, j'aimerais savoir comment on fait pour qu'une concaténation puisse être utilisé dans un calcul d'heure ?
j'ai ceci pour ma concaténation :
Private Sub TextBox10_AfterUpdate()
' Je défini une variable aléatoire comme H pour concatener les heures
Dim H As String
H = TextBox8.Value & ":" & TextBox9.Value & ":" & TextBox10.Value
TextBox16.Value = H
End Sub
je souhaiterais utiliser cette variable pour additionner l'heure en court avec now() par exemple et ma variable concatener, je sais pas comment m'y prendre en faite...
et que cette valeur puisse se retrouver dans mon textbox16 pour le résultat.
à savoir que sur le textbox8 je saisi les heures, textbox9 les minutes et textbox10 les secondes.
et que le textbox16 est la résultante du calcul de l'heure en court + les saisis.
merci de vos conseils et aides
A voir également:
- Comment faire un calcul avec une concaténation ?
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
6 réponses
Bonjour,
Exemple :
Exemple :
Sub x() Dim H As String Dim T As Date H = "10:12:59" T = CDate(H) + Now H = T MsgBox H End Sub
Je croyais que ta question était résolue : https://forums.commentcamarche.net/forum/affich-33890246-comment-concatener-plusieurs-textbox
Bonjour,
Tu peux utiliser le code suivant :
A+
Tu peux utiliser le code suivant :
Private Sub TextBox10_AfterUpdate()
Dim H As Date
H = TimeSerial(TextBox8.Value, TextBox9.Value, TextBox10.Value)
TextBox16.Value = Format(Time + H, "hh:mm:ss")
End Sub
A+
Bonjour,
pour ton code cela semble marché sauf un petit beug avec seconde, aurais tu une solution à ce problème
je te donne un exemple : si je saisi avec l'heures de saisi qui est
15:58:48
' heures textbox8 =02
' Minutes textbox9 =02
' Secondes textbox10 =02
sur ma textbox16 j'ai comme résultat :
18:00:54
alors que le résultat attendu serais :
18:00:50
je me l'explique pas ?
pour ton code cela semble marché sauf un petit beug avec seconde, aurais tu une solution à ce problème
je te donne un exemple : si je saisi avec l'heures de saisi qui est
15:58:48
' heures textbox8 =02
' Minutes textbox9 =02
' Secondes textbox10 =02
sur ma textbox16 j'ai comme résultat :
18:00:54
alors que le résultat attendu serais :
18:00:50
je me l'explique pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Tu constates donc un écart de 4 secondes, mais par rapport à quelle référence (heure de saisie) ?
Le programme prend en compte l’heure système donnée par la fonction Time au moment où la donnée du TextBox10 a été mise à jour.
Pour t'en convaincre, tu peux ajouter une TextBox afin d'afficher cette heure système.
Exemple avec l'heure système dans la TextBox17 :
A+
Tu constates donc un écart de 4 secondes, mais par rapport à quelle référence (heure de saisie) ?
Le programme prend en compte l’heure système donnée par la fonction Time au moment où la donnée du TextBox10 a été mise à jour.
Pour t'en convaincre, tu peux ajouter une TextBox afin d'afficher cette heure système.
Exemple avec l'heure système dans la TextBox17 :
Private Sub TextBox10_AfterUpdate()
Dim H As Date
H = TimeSerial(TextBox8.Value, TextBox9.Value, TextBox10.Value)
TextBox16.Value = Format(Time + H, "hh:mm:ss")
TextBox17.Value = Format(Time, "hh:mm:ss")
End Sub
A+
D'accord je saisi le soucis que j'ai du coup,
alors je vous explique lors de l'affichage de mon userform, j'ai un texbox1 qui utilise comme code ceci :
Private Sub UserForm_Initialize()
' Affiche la date et heure du jour
' sous le format ex: mercredi 10 juin 2016 10:25:36
TextBox1.Value = Format(Now, "dddddd hh:mm:ss")
du coup quand je fais la saisi avec les textbox8 à 10
et que le moment de la saisi peu se faire quelques secondes plustard cela provoque mon beug, qui n'en est pas un.
alors comment je peu utiliser ma valeur de la textbox1 pour remplacer la fonction Time dans ta ligne de code.... ? pour que l'heure coïncide avec la valeur de la textbox1
merci
alors je vous explique lors de l'affichage de mon userform, j'ai un texbox1 qui utilise comme code ceci :
Private Sub UserForm_Initialize()
' Affiche la date et heure du jour
' sous le format ex: mercredi 10 juin 2016 10:25:36
TextBox1.Value = Format(Now, "dddddd hh:mm:ss")
du coup quand je fais la saisi avec les textbox8 à 10
et que le moment de la saisi peu se faire quelques secondes plustard cela provoque mon beug, qui n'en est pas un.
alors comment je peu utiliser ma valeur de la textbox1 pour remplacer la fonction Time dans ta ligne de code.... ? pour que l'heure coïncide avec la valeur de la textbox1
merci
Essaie comme cela
A+
Dim T As Double
Private Sub UserForm_Initialize()
Dim D As Date
D = Now
T = D - Int(D)
TextBox1.Value = Format(D, "dddddd hh:mm:ss")
End Sub
Private Sub TextBox10_AfterUpdate()
Dim H As Date
H = TimeSerial(TextBox8.Value, TextBox9.Value, TextBox10.Value)
TextBox16.Value = Format(T + H, "hh:mm:ss")
End Sub
A+