UserForm Liste dépendante d'une autre
Résolu
Theo
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 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
- Voir liste d'amis facebook - Guide
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