Bonjour à tous!
je débute en vba et dans le cadre de projet de finance, nous devons créer un programme de trading. Voila mon souci :
au travers de ma userform1 l'utilisateur entre une date et cette date doit vérifier certaines conditions. Si toutes les conditions sont verifier l'utilisateur clique sur ok et un deuxième formulaire s'ouvre indiquant pour la date rentrée par l'utilisateur des recommandations de positions d'achat et de vente au travers des différentes textbox. Le problème est que le deuxième formulaire s'ouvre bien mais les textbox ne se remplissent pas avec les recommandations associées à la date.
ça fait une journée que je me casse les dents dessus et j'aimerai avoir des recommandations de connaisseurs de vba. de plus à chaque nouvelles rentrée de date, les textbox doivent être vidées pour pouvoir être remplies avec les recommandations de la nouvelle date correspondante
les macros relatives sont des les userform1 et 2, merci beaucoup !!
Code de la Userform1 :
code de la userform2 (j'ai pris uniquement le cas d'une textbox mais normalement il y en a plusieurs)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 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
Partager