Option Explicit
Dim WithEvents ChkGCru As MSForms.CheckBox
Dim WithEvents TbxQté As MSForms.TextBox
Dim LabPrixU As MSForms.Label
Dim LabPrixQté As MSForms.Label
Dim Qté As Long, PrixU As Currency
Public Sub Init(TArt(), ByVal N As Long)
Set ChkGCru = UserForm2("ChkGCru" & N)
Set TbxQté = UserForm2("TbxQté" & N)
Set LabPrixU = UserForm2("LabPrix" & N)
Set LabPrixQté = UserForm2("LabTot" & N)
ChkGCru.Caption = TArt(N, 1)
PrixU = TArt(N, 2): LabPrixU.Caption = Format(PrixU, "0,00 €")
End Sub
Private Sub ChkGCru_Click()
If ChkGCru.Value Then
If Qté = 0 Then TbxQté.Text = "1"
Else
TbxQté.Text = "": End If
MàJLabTot
End Sub
Private Sub TbxQté_Change()
On Error Resume Next
Qté = TbxQté.Text
If Err Then Qté = 0
On Error GoTo 0
ChkGCru.Value = Qté > 0
MàJLabTot
End Sub
Public Function PrixQté() As Currency
PrixQté = PrixU * Qté
End Function
Private Sub MàJLabTot()
LabPrixQté.Caption = IIf(Qté > 0, Format(PrixQté, "0,00 €"), "")
End Sub
Public Sub Enreg(Ts(), ByVal L As Long)
If Not ChkGCru.Value Then Exit Sub
L = L + 1
Ts(L, 1) = ChkGCru.Caption
Ts(L, 2) = Qté
Ts(L, 3) = PrixU
Ts(L, 4) = PrixQté
End Sub