Combobox1 qui valide la base du combobox2

Résolu
edlogy Messages postés 6 Statut Membre -  
edlogy Messages postés 6 Statut Membre -
Bonjour,

je suis nouveau et j'aurais une question à vous soumettre:

Je souhaite dans un usf avoir deux combobox, la premiere a sa base dans la feuille 1 qui va de A1 à A3 et la combobox2 a trois base de donnée : B1 à B20, C1 à C30 et D1 à D7. et je ne vois pas comment faire. Selon le choix de la combobox 1 la combobox 2 aura une liste differente.

Merci d'avance pour votre ecoute et votre aide.

5 réponses

  1. edlogy Messages postés 6 Statut Membre
     
    Top de top merci c'est exactement ça.

    Merci cs_Le Pivert.
    0
  2. edlogy Messages postés 6 Statut Membre
     
    Petite demande supplémentaire,

    mes deux combobox sont dans un userform et travail avec les data de la feuille 2. et du coup lorsque que je met dans UserForm_Initialize() la sequence :
    3 Set f = Sheets("data")
    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("B2:B" & f.[B65000].End(xlUp).Row) ' on explore la colonne de niveau 1
    MonDico(c.Value) = "" ' on ajoute l'élément de la famille au dictionnaire
    Next c
    Me.Famille.List = MonDico.keys

    j'ai une erreur 70 ( Permission refuse ).

    Avez vous une idée?

    Merci encore.
    0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Il faut que la feuille se nomme data

    Option Explicit
    Dim MonDico
    Dim f, c
    Private Sub UserForm_Initialize()
    Set f = Sheets("data")
    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("B2:B" & f.[B65000].End(xlUp).Row) ' on explore la colonne de niveau 1
    MonDico(c.Value) = "" ' on ajoute l'élément de la famille au dictionnaire
    Next c
    Me.Famille.List = MonDico.keys
    End Sub
    Private Sub Famille_click()
      Me.SousFamille.Clear
      Set MonDico = CreateObject("Scripting.Dictionary")
      For Each c In f.Range("B2:B" & f.[B65000].End(xlUp).Row)      ' on explore la colonne de niveau 1
         If c = Me.Famille Then MonDico(c.Offset(, 1).Value) = ""   ' si famille alors on ajoute l'élément de la sous-famille au dictionnaire
      Next c
      Me.SousFamille.List = MonDico.keys
    End Sub
    


    @+ Le Pivert
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. edlogy Messages postés 6 Statut Membre
     
    merci, j'ai modifier et maintenant cela me dit objet requis:

    For Each c In f.Range("B2:B" & f.[B65000].End(xlUp).Row) ' on explore la colonne de niveau 1

    Sur cette ligne.

    Donc j'ai rajouter au debut :

    Set f = Sheets("base")

    et hop tu est au top
    0