Combobox double

nicos3390

XLDnaute Junior
Bonjour,
avant de finir l'année, j'ai besoin d'un éclaircissement.

je vous joins un fichier, j'aimerais qu'en ouvrant mon userform, je puisse:
- afficher tous les marchés en Combobox1
et en fonction, que je puisse choisir en Combobox2 les produits correspondants à mon choix de la combobox1.

merci de votre aide, et bonne fin d'année à tous!!

Nicolas
 

Pièces jointes

  • Nicolas_v121228BB.xls
    67.5 KB · Affichages: 58

Cousinhub

XLDnaute Barbatruc
Re : Combobox double

Bonsoir,

Essaie avec ces codes :

Code:
Private Sub ComboBox1_Change()
Dim C As Range, D As Range
Dim NbLig As Long, I As Long
Me.ComboBox2.Clear
If Me.ComboBox1 <> "" Then
    With Sheets("SPORT")
        Set C = .Columns(3).Find(Me.ComboBox1)
        If Not C Is Nothing Then
            NbLig = C.Areas(1).MergeArea.Count
            Set D = C.Offset(, 1)
            For I = 0 To NbLig - 1
                Me.ComboBox2.AddItem D.Offset(I)
            Next I
        End If
    End With
End If
End Sub
Private Sub UserForm_Initialize()
Dim Cel As Range
Dim DerLig As Long
With Sheets("SPORT")
    DerLig = .Cells(Rows.Count, "C").End(xlUp).Row
    For Each Cel In .Range("C3:C" & DerLig)
        If Cel <> "" Then Me.ComboBox1.AddItem Cel.Value
    Next Cel
End With
End Sub

Bonsoir également à vous, JM et Gilbert

Bonne soirée
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combobox double

Bonsoir,

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("sport")
  For Each c In f.Range("C3:C" & f.[C65000].End(xlUp).Row)
    If c <> "" Then Me.ComboBox1.AddItem c
  Next
End Sub

Private Sub ComboBox1_click()
  Set début = f.Range("C2:C" & f.[C65000].End(xlUp).Row).Find(what:=Me.ComboBox1.Value)
  n = début.MergeArea.Count
  If n > 1 Then
    Me.ComboBox2.List = début.Offset(, 1).Resize(n).Value
  Else
    Me.ComboBox2.Clear
    Me.ComboBox2.AddItem début.Offset(, 1).Value
  End If
End Sub

JB
 

Pièces jointes

  • Copie de Nicolas_v121228BB.xls
    61 KB · Affichages: 75
Dernière édition:

Dan

XLDnaute Barbatruc
Re : Combobox double

Bonjour

Il est de bonne habitude de ne pas poser la même question sur plusieurs forums sans au moins signaler que tu as effectué la même demande sur un autre forum.
Cela évite notamment de passer du temps sur une demande dont la solution est peut être déjà trouvée ailleurs.

Merci de ta compréhension
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
597

Statistiques des forums

Discussions
312 854
Messages
2 092 833
Membres
105 542
dernier inscrit
ValendirEDB