Option Explicit
Private WithEvents CL As ComboBoxLiées
Private LCou As Long, VLgn()
Private Sub UserForm_Initialize()
Set CL = Création.ComboBoxLiées
CL.Plage [Tableau1]
CL.Add ComboBox1, "Chapitre"
CL.Add ComboBox2, "Classe A"
CL.Add ComboBox3, "Classe B"
CL.Add ComboBox4, "Classe c"
CL.Actualiser
End Sub
Private Sub CBnEffacer_Click()
CL.Nettoyer
End Sub
Private Sub CL_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long)
If NbrLgn = 0 Then ListBox1.Clear
LCou = 0: ReDim VLgn(1 To 1, 1 To 6)
CBnValider.Caption = "Ajouter"
GarnirTBx
End Sub
Private Sub CL_Résultat(Lignes() As Long)
Dim TBD(), LBD As Long, TLB(), LLB As Long, C As Long
TBD = CL.PlgTablo.Value
ReDim TLB(0 To UBound(Lignes) - 1, 0 To 9)
For LLB = 0 To UBound(TLB)
LBD = Lignes(LLB + 1)
TLB(LLB, 1) = LBD
For C = 0 To 9: TLB(LLB, C) = TBD(LBD, C + 5): Next C, LLB
ListBox1.List = TLB
End Sub
Private Sub ListBox1_Click()
LCou = ListBox1.Column(0, ListBox1.ListIndex)
VLgn = CL.PlgTablo.Rows(LCou).Value
CL.ValeursDepuis VLgn
CBnValider.Caption = "Modifier"
GarnirTBx
End Sub
Private Sub GarnirTBx()
Dim C As Long
For C = 5 To CL.PlgTablo.Columns.Count
Me("TextBox" & C - 2).Text = VLgn(1, C): Next C
End Sub
Private Sub CBnValider_Click()
For C = 5 To CL.PlgTablo.Columns.Count
VLgn(1, C) = Me("TextBox" & C - 2).Text: Next C
If LCou = 0 Then
CL.ValeursVers VLgn
CL.Lignes.Add.Range.Value = VLgn
CL.Actualiser
Else
CL.Lignes(LCou).Range.Value = VLgn
End If
End Sub
Private Sub CBnQuitter_Click()
Unload Me
End Sub