Bug sur For each avec une Range()
Salut à tous,
J'ai une plage de donnée plage1 qui regroupe toutes les cellules de M2 à M65536. Sur celle ci j'effectue un test sur le contenue de la cellule pour voir si il est égale a "true" ou "false".
Ensuite en fonction du résultat j'effectue une opération quelconque.
Sans que le formulaire d'affichage soit fermé, les donnés de ma plage sont modifié, une valeur passe de "true" a "false".
Toujours sans fermer mon formulaire, je réitère sur ma plage de donné une For Each mais je remarque que les données séléctionnées par celle-ci sont mainteant de M1 à M2 or je ne l'ai jamais modifier !
Une idée ?
Merci !
Code:
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 44 45 46 47 48 49 50 51
| Set plage1 = Sheets("journal").Range("M2:M" & [A65536].End(xlUp).Row)
Number_risky = 0
top_risky = 5
For Each Cell In plage1
MsgBox Cell.Value
If Cell.Value = "false" Then
'On créé les éléments
Set action_name_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
Set action_ticker_isin_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
Set action_numbers_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
Set action_entry_date_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
Set action_buying_price_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
Set action_total_investing_frame = risked_position_frame.Controls.Add("Forms.Label.1", "ok" & Number_risky, True)
'on positionne les éléments créés
action_name_frame.Caption = Cell.Offset(0, -12).Value
action_name_frame.top = top_risky
action_name_frame.Left = 20
action_name_frame.Width = 100
action_ticker_isin_frame.Caption = Cell.Offset(0, -11).Value
action_ticker_isin_frame.top = top_risky
action_ticker_isin_frame.Left = 162
action_numbers_frame.Caption = Cell.Offset(0, -9).Value
action_numbers_frame.top = top_risky
action_numbers_frame.Left = 256
action_entry_date_frame.Caption = Cell.Offset(0, -7).Value
action_entry_date_frame.top = top_risky
action_entry_date_frame.Left = 354
action_buying_price_frame.Caption = Cell.Offset(0, -8).Value & ""
action_buying_price_frame.top = top_risky
action_buying_price_frame.Left = 456
action_total_investing_frame.Caption = Cell.Offset(0, -9).Value * Cell.Offset(0, -8).Value & ""
action_total_investing_frame.top = top_risky
action_total_investing_frame.Left = 558
top_risky = top_risky + 19
Number_risky = Number_risky + 1
End If
Next Cell
number_of_risked_position_frame.Caption = "Trade(s) à risque: " & Number_risky & "/7" |