Comment afficher un résultat dans un textbox
Résolu
coupidon
Messages postés
98
Statut
Membre
-
coupidon Messages postés 98 Statut Membre -
coupidon Messages postés 98 Statut Membre -
Bonjour,
suis débutant sur vab, et je me creuse la tête pour afficher un résultat dans un textbox,
je souhaiterais faire un calcul avec une date et en mettant le nombre de jours que cela affiche le résultat dans un textbox, et je n'y arrive pas...
sur textbox1 s'affiche ceci par se code
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")
End Sub
j'ai un textbox7 sur lequel quand on lance le userform, on tape une valeur type 20 ou 8 ect...
et je voudrais que s'affiche le résultat du calcul dans un textbox6 par exemple...
faire que le contenu du textbox1 + textbox7 = textbox6
j'ai utiliser ceci :
Private Sub Textbox6.Value()
dim oldate
dim cdate
oldDate = Cdate(textbox1.value)
textbox3.value = DateAdd( "d", TextBox6.value, oldDate )
End Sub
cela fonctionne pas, je dois faire fausse route qui serais me rendre service.....
sur le web je comprend pas les lignes de code, ne soyez pas trop vague dans vos propositions merci
suis débutant sur vab, et je me creuse la tête pour afficher un résultat dans un textbox,
je souhaiterais faire un calcul avec une date et en mettant le nombre de jours que cela affiche le résultat dans un textbox, et je n'y arrive pas...
sur textbox1 s'affiche ceci par se code
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")
End Sub
j'ai un textbox7 sur lequel quand on lance le userform, on tape une valeur type 20 ou 8 ect...
et je voudrais que s'affiche le résultat du calcul dans un textbox6 par exemple...
faire que le contenu du textbox1 + textbox7 = textbox6
j'ai utiliser ceci :
Private Sub Textbox6.Value()
dim oldate
dim cdate
oldDate = Cdate(textbox1.value)
textbox3.value = DateAdd( "d", TextBox6.value, oldDate )
End Sub
cela fonctionne pas, je dois faire fausse route qui serais me rendre service.....
sur le web je comprend pas les lignes de code, ne soyez pas trop vague dans vos propositions merci
2 réponses
-
Bonjour,
jordans45 t'a donné la solution ici:
https://forums.commentcamarche.net/forum/affich-33882090-calcul-avec-textbox-date-saisi-numerique#1
dans la TextBox1 la date, dans la 2 le nombre de jours à ajouter et dans la 3 le résultat
Option Explicit Dim oldDate As Date Dim madate As Date Private Sub TextBox2_Change() ' oldDate = CDate(TextBox1.Value) madate = DateAdd("d", TextBox2.Value, oldDate) TextBox3.Value = Format(madate, "d mmmm yyyy hh:mm:ss") End Sub Private Sub UserForm_Initialize() TextBox1.Value = Format(Now, "d mmmm yyyy hh:mm:ss") End Sub
rectif avec le complément de gbinforme(un petit coucou)
@+ Le Pivert-
hello, j'ai tester ton code et il fonctionne tu as tout à fait raison, mais si j'oblige le textbox1 à avoir un format bien spécifique cela fait une erreur.
il est sur que si dans
Private Sub UserForm_Initialize()
TextBox1.Value = Now
End Sub
ton code fonctionne, mais comme j'ai noté ceci
TextBox1.Value = Format(Now, "dddd hh:mm:ss")
cela ne fonctionne plus.
gbinforme à la réponse mais je n'arrive pas à l'adapté, me fait des erreurs -
-
hello, cs_le Pivert,
alors là, bravo ton code marche juste une question pourquoi je peu pas utilisé un format que je veux comme le : "dddddd hh:mm:ss" qui fonctionne pas en l'occurence, mais si j'utilise le tiens "d mmmm yyyy hh:mm:ss" cela fonctionne aurais-tu une explication ?
car je préfère l'affiche comme le vendredi 9 septembre 2016 15:39:52 -
Tu peux le faire sur le résultat, comme ceci:
Option Explicit Dim oldDate As Date Dim madate As Date Private Sub TextBox2_Change() ' oldDate = CDate(TextBox1.Value) madate = DateAdd("d", TextBox2.Value, oldDate) TextBox3.Value = Format(madate, "dddd dd mmmm yyyy hh:mm:ss") End Sub Private Sub UserForm_Initialize() TextBox1.Value = Format(Now, "dd mmmm yyyy hh:mm:ss") End Sub
voilà -
on peut tricher aussi comme cela:
Option Explicit Dim oldDate As Date Dim madate As Date Private Sub TextBox2_Change() TextBox1.Value = Format(Now, "dd mmmm yyyy hh:mm:ss")'on change le format oldDate = CDate(TextBox1.Value) madate = DateAdd("d", TextBox2.Value, oldDate) TextBox3.Value = Format(madate, "dddd dd mmmm yyyy hh:mm:ss") TextBox1.Value = Format(Now, "dddd dd mmmm yyyy hh:mm:ss") 'on remet le format original End Sub Private Sub UserForm_Initialize() TextBox1.Value = Format(Now, "dddd dd mmmm yyyy hh:mm:ss") End Sub
Tout cela c'est du bidouillage!
-
-
Bonjour,
Pour ton premier code c'est ceci :TextBox1.Value = Format(Now, "dddd hh:mm:ss")
mais ensuite cette valeur, à partir du moment où tu as mis le jour en clair, ta textbox.value n'est plus utilisable comme une date.
tu devrais déclarer une variable en tête de ton comme userformDim madate As Date
et utiliser ensuite cette variablemadate = DateAdd("d", TextBox6.Value, Now) TextBox3.Value = madateavec un format éventuel.
-
hello, gbinforme
je suis d'accord sur ton analyse, m'étant trompé sur le titre de la textbox3 que je n'ai pas, étant donné que j'utilise le textbox1.value avec le format (now, "ddd hh:mm:ss") que le textbox 7 c'est la variable que je change et le textbox 6 le résultat, je trouve pas le lien avec le textbox3.value=madate
-