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 : 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 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
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