Option Explicit
Private WithEvents CLs As ComboBoxLiées, CAs As ControlsAssociés, LCou As Long, TVL()
Private Sub UserForm_Initialize()
Set CLs = CLsCAs.Création.ComboBoxLiées: CLs.Plage Feuil2
Set CAs = CLsCAs.Création.ControlsAssociés: Set CAs.Colonnes = CLs.Colonnes
'———————————————————————————
'Partie à compléter par vous. Juste la 1ère instruction :
CLs.Add Me.cboClient, "Client"
' faire :
' CLs.Add Me.NomDuContrôle, IntituléColonne pour une ComboBox à liste dynamique
' CAs.Add Me.NomDuContrôle, IntituléColonne pour tout autre contrôle y compris une ComboBox à liste fixe
'Fin de la partie à compléter
'———————————————————————————
CLs.CouleurSympa
CLs.LMaxDropBtn = 75
CLs.Actualiser
End Sub
Private Sub CLs_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long)
CBnEchap.Caption = "Effacer"
If NbrLgn = 1 Then
CBnEntrée.Enabled = True: CBnEntrée.Caption = "Modifier": CBnSuppr.Enabled = True
Exit Sub: End If
CBnSuppr.Enabled = False
CBnEntrée.Caption = "Ajouter"
CBnEntrée.Enabled = Complet And NbrLgn = 0
LCou = 0
ReDim TVL(1 To 1, 1 To CLs.Colonnes.Count)
CAs.ValeursDepuis TVL
End Sub
Private Sub CLs_BingoUn(ByVal Ligne As Long)
LCou = Ligne
TVL = CLs.Lignes(LCou).Range.Value
WshSaisDons.[E3:E10].Value = WorksheetFunction.Transpose(TVL)
CAs.ValeursDepuis TVL
End Sub
Private Sub CBnEntrée_Click()
CAs.ValeursVers TVL
If LCou = 0 Then
CLs.ValeursVers TVL
CLs.Lignes.Add.Range.Value = TVL
CLs.Actualiser
Else: CLs.Lignes(LCou).Range.Value = TVL: End If
End Sub
Private Sub CBnSuppr_Click()
If MsgBox("Êtes vous sûr de vouloir supprimer ça définitvement ?", vbYesNo + vbExclamation _
+ vbDefaultButton2, Me.Caption) = vbNo Then Exit Sub
CLs.Lignes(LCou).Delete
CLs.Actualiser
End Sub
Private Sub CBnEchap_Click(): If CLs.ChangéÀLEchap Then Exit Sub
Select Case CBnEchap.Caption
Case "Effacer": CLs.Nettoyer: CBnEchap.Caption = "Quitter"
Case Else: Unload Me: End Select
End Sub