Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combobox double

  • Initiateur de la discussion Initiateur de la discussion nicos3390
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicos3390

Guest
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

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
 
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

Dernière édition:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
385
Réponses
8
Affichages
251
Réponses
0
Affichages
304
Réponses
1
Affichages
350
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…