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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| Dim actions
Dim plage1 As Range
Dim position_entry As Double
Dim position_closed As Double
Dim position_total As Double
Dim position_brokage_fees As Double
Dim position_numbers_of_actions As Integer
Private Sub closed_at_value_Change()
Call refresh_summary
End Sub
Private Sub UserForm_initialize()
'On modifie l'aspect des labels
position_to_close.Font.Bold = True
transaction_summary.Font.Bold = True
transaction_summary.Font.Size = 12
transaction_summary.Font.Underline = True
closed_at.Font.Bold = True
entry.Font.Bold = True
closed.Font.Bold = True
total.Font.Bold = True
'on récupére les actions non cloturées
Set plage1 = Sheets("journal").Range("L2:L" & [A65536].End(xlUp).Row)
i = 0
For Each Cell In plage1
If Cell.Value = "false" Then
'on defini une colonne dan notre listbox
position_to_close_list_chooser.ColumnCount = 1
'on prépare l'ajout d'un nouvel item
position_to_close_list_chooser.AddItem
'on ajoute un nouvel item dans la premiére colonne
'Cell(1, -1) signifie que l'on récupére le contenu de la 10ieme colonne avant celle sectionné
position_to_close_list_chooser.Column(0, i) = Cell(1, -10)
i = i + 1
End If
Next Cell
End Sub
Private Sub position_to_close_list_chooser_Change()
Call refresh_summary
End Sub
Private Sub cancel_Click()
Unload Me
End Sub
Private Sub refresh_summary()
'On defini notre plage de recherche
Set plage1 = Sheets("journal").Range("L2:L" & [A65536].End(xlUp).Row)
'on initialise notre variable de boucle
i = 0
For Each Cell In plage1
'On verifie si le nom de la cellule selectionnée correspond au nom de l'action selectionnée dans notre liste
'Offset(0,-11) selectionne la 11ieme colonne avant celle sectionnée
If Cell.Offset(0, -11).Value = position_to_close_list_chooser.Value Then
position_enter = Cell.Offset(0, -7).Value
'On verifie que c'est bien un nombre
If IsNumeric(closed_at_value.Value) Then
position_closed = CDbl(Replace(closed_at_value.Value, ".", ","))
Else
position_closed = 0
End If
position_brokage_fees = Cell.Offset(0, -2).Value
position_numbers_of_actions = Cell.Offset(0, -8).Value
position_total = ((position_closed - position_enter) * position_numbers_of_actions) - 2 * position_brokage_fees
'On actualise les labels
closed_value.Caption = position_closed & " "
entry_value.Caption = position_enter & " "
total_value.Caption = position_total & " "
i = i + 1
End If
Next Cell
End Sub
Private Sub validate_Click()
'On defini notre plage de recherche
Set plage1 = Sheets("journal").Range("L2:L" & [A65536].End(xlUp).Row)
'on initialise notre variable de boucle
i = 0
For Each Cell In plage1
'On verifie si le nom de la cellule selectionnée correspond au nom de l'action selectionnée dans notre liste
'Offset(0,-11) selectionne la 11ieme colonne avant celle sectionnée
If Cell.Offset(0, -11).Value = position_to_close_list_chooser.Value Then
Cell.Offset(0, -1) = position_total
Cell.Offset(0, -4) = Date
Cell.Offset(0, -5) = position_closed
Cell.Value = "true"
Unload UserForm3
i = i + 1
End If
Next Cell
End Sub |
Partager