Je cherche à créer une liste de choix (combobox) dans un formulaire (userform) de deuxième catégorie.
C'est à dire, si une donnée est sélectionner dans la ComboBox1 cela paramètre différemment la ComboBox2.
Exemple :
J'ai une ComboBox1 (paramétré RowSource = "ListCat")
Dans à la suite de cette liste j'ai réalisé 5 sous-liste :
- La liste "Paie" = ListPaie
- La liste "Congés" = ListCong
- La liste "Absence" = ListAbs
- La liste "Avantage en nature" = ListAvtg
- La liste "Mutuelle" = ListMut
J'aimerai un code pour paramétré la ComboBox2
If ComboBox1.value = Paie
ComboBox2.RowSource = ListPaie
End if
Malheureusement rien ne marche et je ne sais pas ou faire mon code :
- Private Sub_Ajouter_Click()
- Private Sub ComboBox2_Change()
- Private Sub UserForm_Active()
Je ne sais plus quoi faire pour réaliser cette manipulation.
Je vous remercie d'avance pour le temps passer à chercher une solution.
Edoliie
Bonjour Edoliie,
En PJ un essai avec une init des userforms :
VB:
Sub Lance()
With UserForm1
.ComboBox1.List = Sheets("feuil1").[Liste].Value
.ComboBox1.ListIndex = 0
.ComboBox2.List = Sheets("feuil1").[ListPaie].Value
.ComboBox2.ListIndex = 0
.Show
End With
End Sub
et le chargement du combobox2 :
Code:
Private Sub ComboBox1_Change()
With UserForm1.ComboBox2
Select Case ComboBox1.Value
Case "Paie"
.List = Sheets("feuil1").[ListPaie].Value
.ListIndex = 0
Case "Congés"
.List = Sheets("feuil1").[ListCong].Value
.ListIndex = 0
Case "Absence"
.List = Sheets("feuil1").[ListAbs].Value
.ListIndex = 0
Case "Avantage"
.List =...
Bonjour Edoliie,
En PJ un essai avec une init des userforms :
VB:
Sub Lance()
With UserForm1
.ComboBox1.List = Sheets("feuil1").[Liste].Value
.ComboBox1.ListIndex = 0
.ComboBox2.List = Sheets("feuil1").[ListPaie].Value
.ComboBox2.ListIndex = 0
.Show
End With
End Sub
et le chargement du combobox2 :
Code:
Private Sub ComboBox1_Change()
With UserForm1.ComboBox2
Select Case ComboBox1.Value
Case "Paie"
.List = Sheets("feuil1").[ListPaie].Value
.ListIndex = 0
Case "Congés"
.List = Sheets("feuil1").[ListCong].Value
.ListIndex = 0
Case "Absence"
.List = Sheets("feuil1").[ListAbs].Value
.ListIndex = 0
Case "Avantage"
.List = Sheets("feuil1").[ListAvtg].Value
.ListIndex = 0
Case "Mutuelle"
.List = Sheets("feuil1").[ListMut].Value
.ListIndex = 0
End Select
End With
End Sub
Bonjour.
Si les informations sont dans un tableau à consulter, voire mettre à jour, avec une colonne contenant les valeurs à inventorier, classées et sans doublon, pour la liste de la ComboBox1 et une autre pour celle de la ComboBox2, la programmation de ce complément se charge de tout.
Définit deux types d'objets à évènements: ComboBoxLiées prenant en charge les ComboBox pour la saisie des données d'identification de la ligne à créer, puis, ultérieurement, à consulter voire modifier, et ControlsAssociés prenant en charge les...
www.excel-downloads.com
Pas besoin de s'occuper des listes, juste dire, dans une Private Sub UserForm_Initialize, à un objet ComboBoxLiées quelles ComboBox sont à prendre en charge et à quelles colonnes elles correspondent.
Bonjour Edoliie,
En PJ un essai avec une init des userforms :
Code:
Private Sub ComboBox1_Change()
With UserForm1.ComboBox2
Select Case ComboBox1.Value
Case "Paie"
.List = Sheets("feuil1").[ListPaie].Value
.ListIndex = 0
Case "Congés"
.List = Sheets("feuil1").[ListCong].Value
.ListIndex = 0
Case "Absence"
.List = Sheets("feuil1").[ListAbs].Value
.ListIndex = 0
Case "Avantage"
.List = Sheets("feuil1").[ListAvtg].Value
.ListIndex = 0
Case "Mutuelle"
.List = Sheets("feuil1").[ListMut].Value
.ListIndex = 0
End Select
End With
End Sub
Private Sub ComboBox1_Change()
Set F = Sheets("feuil1")
With UserForm1.ComboBox2
Select Case ComboBox1.Value
Case "Paie": .List = F.[ListPaie].Value
Case "Congés": .List = F.[ListCong].Value
Case "Absence": .List = F.[ListAbs].Value
Case "Avantage": .List = F.[ListAvtg].Value
Case "Mutuelle": .List = F.[ListMut].Value
End Select
.ListIndex = 0
End With
End Sub