UserForm Liste dépendante d'une autre
Résolu
Theo
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucis avec une liste déroulante dans un formulaire :
Dans le fichier en colonne A il y a des noms d'entreprises, en colonne B des nom de documents affiliés a ces entreprises
Je cherche à faire un Formulaire avec une première liste déroulante pour le choix de l'entreprise (le code fonctionne pour celle-ci)
et en fonction de l'entreprise choisi, la seconde liste déroulante propose tous les documents affiliés a cette entreprise (C'est là que le code ne fonctionne pas)
Le fichier d'exemple :
https://cjoint.com/c/IAzjCwPGqrm
Le code :
Merci d'avance de vos réponses
J'ai un soucis avec une liste déroulante dans un formulaire :
Dans le fichier en colonne A il y a des noms d'entreprises, en colonne B des nom de documents affiliés a ces entreprises
Je cherche à faire un Formulaire avec une première liste déroulante pour le choix de l'entreprise (le code fonctionne pour celle-ci)
et en fonction de l'entreprise choisi, la seconde liste déroulante propose tous les documents affiliés a cette entreprise (C'est là que le code ne fonctionne pas)
Le fichier d'exemple :
https://cjoint.com/c/IAzjCwPGqrm
Le code :
Private Sub ComboBox1_DropButtonClick() Dim Entreprises As Object Dim Cel As Range Set Entreprises = CreateObject("Scripting.Dictionary") With Sheets(1) For Each Cel In .Range("A2:A" & .[A65000].End(xlUp).Row) If Not Entreprises.Exists(Cel.Value) And Cel.Value <> "" _ Then Entreprises.Add Cel.Value, Cel.Value Next Cel End With Me.ComboBox1.List = Application.Transpose(Entreprises.items) End Sub Private Sub ComboBox2_DropButtonClick() Dim Docs As Object Dim Cel As Range With Sheets(1) If ComboBox1.Value <> "" Then For Each Cel In .Range("A2:A" & .[A65000].End(xlUp).Row) If Cel.Value = ComboBox1.Value Then Docs.Add Cel.Offset(0, 1).Value, Cel.Offset(0, 1).Value End If Next Cel Me.ComboBox2.List = Application.Transpose(Docs.items) Else MsgBox "Veuillez sélectionner une entreprise", , "Erreur 01" End If End With End Sub
Merci d'avance de vos réponses
A voir également:
- UserForm Liste dépendante d'une autre
- Liste déroulante excel - Guide
- Liste déroulante dépendante excel - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
2 réponses
Bonjour,
Vous tenez absolument a votre code qui remplit les infos combobox en dynamique des que click sur la fleche. Ainsi que vos dico
Vous tenez absolument a votre code qui remplit les infos combobox en dynamique des que click sur la fleche. Ainsi que vos dico
J'ai réussi a trouver mon erreur :
J'avais oublié une ligne de codage.
Voici mon code pour la combobox 2 si quelqu'un rencontre le même problème :
J'avais oublié une ligne de codage.
Voici mon code pour la combobox 2 si quelqu'un rencontre le même problème :
Private Sub ComboBox2_DropButtonClick() Dim Docs As Object Dim NumLig As Double Dim i As Double Set Docs = CreateObject("Scripting.Dictionary") With Sheets(1) NumLig = [A65000].End(xlUp).Row If ComboBox1.Value <> "" Then For i = 11 To NumLig If Cells(i, 1).Value = ComboBox1.Value Then Docs.Add Cells(i, 2).Value, Cells(i, 2).Value End If Next i Me.ComboBox2.List = Application.Transpose(Docs.items) Else MsgBox "Veuillez sélectionner une entreprise", , "Erreur 01" End If End With End Sub