Remplissage automatique textbox
Bonjour à tous !
je débute en vba et je dois réaliser un programme de trading basé sur des recommandations calculées à partir de différents indicateurs financiers
Mon problème se situe au niveau du remplissage de textbox, je m'explique :
l'utilisateur lambda doit via un premier formulaire (userform1) rentrer une date. Une serie de vérification se fait est faite sur cette date (vérifier que c'est bien format date, que cette date est correspond à une date de l'année 2013 etc...). si la date verifie toutes les conditions, alors une deuxième userform s'ouvre et normalement s'inscrivent dans les textbox, les recommandations pré-calculées d'un fichier excel(recommandation_RSI) pour la date que l'utilisateur à rentré dans la userform1. le problème est que j'ai beau tout essayé mes textbox ne prennent aucune valeur. J'ai essayé pour vérifier de juste rentrer dans le code de la userform2 sur la textbox correspondante un truc du genre = textbox1.value = 12. mais quand je lance le programme, rien ne s'affiche. je me casse les dents depuis ce matin la desus et demande votre aide ! merci beaucoup en tout cas !
l'excel global est en pièces jointes
Voila le code, le transfert n'a pas marché :
Code userform 1 :
Sub CommandeRetour_Click()
UserForm1.Hide
ThisWorkbook.Worksheets("Start").Select
Selection.Show
End Sub
Sub CommandButton1_Click()
If TextBox1.Value = "" Or TextBox1.Value = " " Then
MsgBox "veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
Else
Call Recommandation_RSI
UserForm1.Hide
UserForm2.Show
UserForm2.Label1 = UserForm1.TextBox1
UserForm3.Label1 = UserForm1.TextBox1
UserForm2.TextBox1 = Worksheets("MME26").Cells(2, 2)
End If
End Sub
Public Sub textBox1_AfterUpdate()
If IsDate(TextBox1.Value) = False Then
MsgBox "Veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
TextBox1.Value = ""
ElseIf DateValue(TextBox1.Value) < DateValue(#1/1/2013#) Or DateValue(TextBox1.Value) > DateValue(#1/31/2013#) Then
MsgBox "Veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
End If
Dim trouve As Range
Dim ligne_date
Worksheets("recommandation_RSI").Activate
Set trouve = Worksheets("Recommandation_RSI").Range("A2:A262").Cells.Find(what:=DateValue(UserForm1.TextBox1), lookat:=xlWhole)
If Not trouve Is Nothing Then
ligne_date = trouve.Rows
UserForm2.Label1 = TextBox1.Value
UserForm3.Label1 = TextBox1.Value
Else
MsgBox "Cela ne correspond pas à une date de trading "
TextBox1.Value = ""
End If
End Sub
Et le code de la userform2 :
Private Sub entrer_autre_date_Click()
UserForm2.Hide
UserForm1.Show
End Sub
Private Sub CommandButton2_Click()
UserForm2.Hide
UserForm3.Show
End Sub
Private Sub TextBox1_Change()
Dim trouve As Range
Dim ligne_date As Integer
Worksheets("recommandation_RSI").Activate
Set trouve = Worksheets("Recommandation_RSI").Range("A2:A262").Cells.Find(what:=DateValue(UserForm1.TextBox1), lookat:=xlWhole)
If Not trouve Is Nothing Then
ligne_date = trouve.Row
TextBox1.Value = Cells(ligne_date, 2)
End If
End Sub
Bonsoir et bienvenue
Réduit ton fichier au minimum nécessaire pour faire des tests.
Au besoin, tu le zippes.
Amicalement
Nad
Oui j'ai également essayé ça mais rien n'y fait. le pire c'est que ça a marché pendant un moment, j'ai ensuite voulu appliquer le même code que celui de textbox1 sur les autres textbox et là ca ne marchait plus, entre temps j'ai changé deux trois trucs et là plus rien ne veut rentrer dans mes textbox,
Oui mince excuse moi je pensais l'avoir mis
Merci beaucoup en tout cas
