Private Sub UserForm_Initialize()
Dim Cell As Range
'Supprime les données existantes dans le ComboBox
Me.CmBx_Noms.Clear
'Boucle sur les cellules de la plage L2:L9232 pour
'alimenter le ComboBox
For Each Cell In Worksheets("Facture Client").Range("Liste_Noms")
Me.CmBx_Noms = Cell
'remplissage sans doublon
If Me.CmBx_Noms.ListIndex = -1 Then _
Me.CmBx_Noms.AddItem Cell
Next Cell
End Sub
'sur sélection d'un nom, la liste des numéros de facture d'affiche
Private Sub CmBx_Noms_Change()
nom = CmBx_Noms.Value
Dim Plage As Range
Dim Tab1() As String
With Sheets("Facture Client")
Set Plage = .Range("A6:R" & .Range("A65536").End(xlUp).Row)
End With
ReDim Tab1(1 To Plage.Count)
i = 1
For Each Cell In Plage
If Cell.Offset(0, 4) = nom Then
Tab1(i) = Cell.Offset(0, 3)
i = i + 1
End If
Next
LsBx_Factures.List = Tab1
End Sub
Private Sub LsBx_Factures_Click()
NumFact = LsBx_Factures.Value
With Sheets("Facture Client").Range("Liste_Factures")
Set c = .Find(NumFact, LookIn:=xlValues)
If Not c Is Nothing Then
TxBx_Ref.Value = Cells(c.Row, 1)
TxBx_Num.Value = Cells(c.Row, 2)
TxBx_Date.Value = Cells(c.Row, 3)
TxBx_NumFacture = Cells(c.Row, 4)
TxBx_Nom = Cells(c.Row, 5)
TxBx_Montant = Cells(c.Row, 18)
End If
End With
End Sub