Private Sub CLsE_Résultat(Lignes() As Long)
Dim TDon(), TLBx(), Ldon As Long, LLBx As Long, C As Long
TLE = Lignes
TDon = CLsE.PlgTablo.Value
ReDim TLBx(1 To UBound(TLE), 1 To 10)
'For LLBx = 1 To UBound(TLC)
' Ldon = TLC(LLBx)
'For C = 1 To 6: TLBx(LLBx, C) = Tdon(Ldon, C): Next C, LLBx
' For C = 1 To 6: TLBx(LLBx, C) = TDon(Ldon, Choose(C, 1, 8, 9, 10, 11, 12)): Next C, LLBx 'choix des colonne à ressortir dans la listbox
'LBxC.List = TLBx
If LCouC <> 0 Then
TVLE(1, 3) = TVLC(1, 11)
End If
TVLE = CLsE.Lignes(Lignes(1)).Range.Value
GarnirEntree ' Tout:=False
End Sub
Private Sub GarnirEntree()
Me.TBxCPUHT.Text = TVLE(1, 3)
Me.TBxERéfBL.Text = TVLE(1, 7)
Me.TBxEQte.Text = TVLE(1, 8)
Me.TBxERemarque.Text = TVLE(1, 10)
End Sub
Private Sub CBnEValider_Click()
'If LCouE <> 0 Then ReDim TVLE(1 To 1, 1 To 10)
TVLE(1, 1) = Me.CBxCRéfArticle.Text
TVLE(1, 2) = Me.CBxCDesArticle.Text
TVLE(1, 3) = ValeurTBx(Me.TBxCPUHT, vbCurrency)
TVLE(1, 4) = Me.CBxCRechecheRéfcommande.Text
TVLE(1, 5) = Me.CBxType.Text
TVLE(1, 6) = Me.CBxEDate.Text
TVLE(1, 7) = ValeurTBx(Me.TBxERéfBL)
TVLE(1, 8) = ValeurTBx(Me.TBxEQte, vbDouble)
TVLE(1, 9) = Me.CBxEemplacement.Text
TVLE(1, 10) = ValeurTBx(Me.TBxERemarque)
If LCouE = 0 Then
CLsE.ValeursVers TVLE
CLsE.Lignes.Add.Range.Resize(, 10).Value = TVLE
CLsE.Actualiser
Rem. Refaire un Dictionary ? Refiltrer quelque chose ? On verra !
Else
CLsE.Lignes(LCouE).Range.Resize(, 10).Value = TVLE '10=nombre de colonnes contenant des constantes
End If
End Sub
Private Sub CLsE_Résultat(Lignes() As Long)
Dim TDon(), TLBx(), Ldon As Long, LLBx As Long, C As Long
If UBound(Lignes) = 1 Then
LCouE = Lignes(1)
TVLE = CLsE.Lignes(LCouE).Range.Value
GarnirEntree
Else
TLE = Lignes
TDon = CLsE.PlgTablo.Value
ReDim TLBx(1 To UBound(TLE), 1 To 10)
For LLBx = 1 To UBound(TLE)
Ldon = TLE(LLBx)
For C = 1 To 10: TLBx(LLBx, C) = TDon(Ldon, C): Next C, LLBx ' code pour affichage total listbox changer paramètre 1To8 nb colonne affiché dans la list box
'For C = 1 To 10: TLBx(LLBx, C) = TDon(Ldon, Choose(C, .., .., .., .., .., ..,.., ..)): Next C, LLBx 'choix des colonne à ressortir dans la listbox
LBxM.List = TLBx: End If
End Sub
Private Sub GarnirEntree()
Me.TBxCPUHT.Text = TVLE(1, 3)
Me.TBxERéfBL.Text = TVLE(1, 7)
Me.TBxEQte.Text = TVLE(1, 8)
Me.TBxERemarque.Text = TVLE(1, 10)
End Sub
Private Sub LBxC_Click()
LCouC = TLC(LBxC.ListIndex + 1)
TVLC = CLsC.Lignes(LCouC).Range.Value
CLsC.ValeursDepuis TVLC
GarnirCommande
End Sub
Option Explicit
Private WithEvents CLsC As ComboBoxLiées, LCouC As Long, TVLC(), TLC() As Long, _
WithEvents CLsE As ComboBoxLiées, LCouE As Long, TVLE(), TLE() As Long, _
WithEvents CLsA As ComboBoxLiées, LCouA As Long, TVLA(), TLA() As Long
Private DicA As Dictionary
Private Sub UserForm_Initialize()
Set CLsA = New ComboBoxLiées
CLsA.Plage [TblBaseArticles]
CLsA.Add Me.CBxARéfArticle, 1, Croissant:=False
CLsA.Add Me.CBxADesArticle, 4
CLsA.CouleurSympa
CLsA.Actualiser
Set DicA = DicoSujet(CLsA.Item(CBxARéfArticle).SujetBdD)
If Not Me.ActiveControl Is FrmA Then CLsA.Stopper