Option Explicit
Private WithEvents CLsSal As CLsCAs.ComboBoxLiées, LCouSal As Long, TVLSal()
Private WithEvents CLsCad As CLsCAs.ComboBoxLiées, LCouCad As Long, TVLCad()
Private Sub UserForm_Initialize()
Set CLsSal = CLsCAs.Création.ComboBoxLiées ' Attribue à CLsSal un exemplaire nouvellement créé d'objet ComboBoxLiées.
CLsSal.Plage WshLstSal ' Indiquer au moins la 1ère ligne de la plage à couvrir. Mais c'est mieux si c'est un tableau Excel et qu'on indique juste la feuille…
CLsSal.Add Me.ComboNumCarte, "Carte" ' Enseigne la ComboNumCarte comme devant recevoir des listes de choix prise de la colonne "NumCarte"
CLsSal.Add Me.ComboNom, "Nom" ' Enseigne la ComboNom comme devant recevoir des listes de choix prise de la colonne "Nom"
CLsSal.Add Me.ComboPrénom, "Prénom" ' Enseigne la ComboPrénom devant recevoir des listes de choix prise de la colonne "Prénomé. Mettez autant de CLs.Add qu'il y a de ComboBox à gérer.
CLsSal.CouleurSympa ' Permet de distinguer si les ComboBox contiennent un choix prévu ou non. Peu utile s'ils ont .MatchRequired = True.
CLsSal.Actualiser ' Démarre la gestion des ComboBox
Set CLsCad = CLsCAs.Création.ComboBoxLiées ' Attribue à CLsSal un exemplaire nouvellement créé d'objet ComboBoxLiées.
CLsCad.Plage WshLstCad ' Indiquer au moins la 1ère ligne de la plage à couvrir. Mais c'est mieux si c'est un tableau Excel et qu'on indique juste la feuille…
CLsCad.Add Me.ComboN°, "NumCadeau" ' Enseigne la ComboN° comme devant recevoir des listes de choix prise de la colonne "NumCadeau"
CLsCad.Add Me.ComboLettre, "Lettre" ' Enseigne la ComboLettre comme devant recevoir des listes de choix prise de la colonne "Lettre"
CLsCad.Add Me.Combodesign, "Designation" ' Enseigne la Combodesign comme devant recevoir des listes de choix prise de la colonne "Designation"
CLsCad.Add Me.ComboTarifs, "Tarifs" ' Enseigne la ComboTarifs comme devant recevoir des listes de choix prise de la colonne "Tarifs"
CLsCad.Actualiser
End Sub
Private Sub CLsSal_BingoUn(ByVal Ligne As Long)
LCouSal = Ligne
TVLSal = CLsSal.Lignes(LCouSal).Range.Value
End Sub
Private Sub CLsCad_BingoUn(ByVal Ligne As Long)
LCouCad = Ligne
TVLCad = CLsCad.Lignes(LCouCad).Range.Value
End Sub
Private Sub CmdAnnuler_Click()
CLsSal.Nettoyer: LCouSal = 0
CLsCad.Nettoyer: LCouCad = 0
End Sub
Private Sub CmdArreter_Click()
Unload Me
End Sub
Private Sub CmdValider_Click()
Dim TVLChx(1 To 1, 1 To 7)
TVLChx(1, 1) = TVLSal(1, 1)
TVLChx(1, 2) = TVLSal(1, 2)
TVLChx(1, 3) = TVLSal(1, 3)
TVLChx(1, 4) = TVLCad(1, 1)
TVLChx(1, 5) = TVLCad(1, 2)
TVLChx(1, 6) = TVLCad(1, 3)
TVLChx(1, 7) = TVLCad(1, 4)
WshChoix.[A65536].End(xlUp).Offset(1).Resize(, 7).Value = TVLChx
' S'il était aussi sous forme de tableau on aurait pu faire :
' wshchoix.listobjects(1).listrows.add.range.value = tvlchx
CLsSal.Nettoyer
CLsCad.Nettoyer
End Sub