Multi-Combobox et autoremplissage
Bonjour à toutes et tous,
Merci d'avance pour votre coup de main.
But:
Pour gagner du temps dans la recherche de couple d'engrenages, je veux améliorer un fichier codé en VBA en rajoutant des couples existants.
Explication:
J'ai un Userform avec 4 combobox, 3 commandbuttons et 1 textbox
Pour l'instant, je n'ai besoin d'aide que sur les comboboxs
Désignation des comboboxs:
combobox1: Pitch (X valeurs)
combobox2: Pignon (X valeurs)
combobox3: Manchon (avec, sans)
combobox4: Réducteur (3 réducteurs différents)
Fonctionnement:
Pour la combobox1 Pitch, combobox4 Réducteur et combobox3 Manchon, je récupère les valeurs de la liste déroulante dans un tableau.
Pour la combobox2 Pignon, les valeurs de la liste déroulante font appel au choix des combobox3 et 4
Mon problème:
J'arrive à dire que la Rowsource de ma combobox2 dépend du choix du Réducteur (Combobox4) via la fonction Select Case;
MAIS je n'arrive pas à dire:
si tel réducteur avec ou sans manchon, alors combobox2.rowsource = tel liste
J'ai essayé de le traduire comme suis:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Sub ComboBox2_Change()
If ComboBox4.Value = "red1" Then
If ComboBox3.Value = "avec" Then
ComboBox2.RowSource = "pignon_red1_avec"
End If
If ComboBox3.Value = "sans" Then
ComboBox2.RowSource = "pignon_red1_sans"
End If
Else
If combobos4.Value = "red2" Then
If ComboBox3.Value = "avec" Then
ComboBox2.RowSource = "pignon_red2_avec"
End If
If ComboBox3.Value = "sans" Then
ComboBox2.RowSource = "pignon_red2_sans"
End If
Else
If combobos4.Value = "red3" Then
If ComboBox3.Value = "avec" Then
ComboBox2.RowSource = "pignon_red3_avec"
End If
If ComboBox3.Value = "sans" Then
ComboBox2.RowSource = "pignon_red3_sans"
End If
End If
End Sub |
Mais ma combobox2 Pignon reste désespérément vide.
Comment faire?
Car après, avec le couple des ces 4 comboboxs, dans la textbox, j'affiche le résultat d'un croisement d'une colonne avec une ligne. Mais ça serait l'aide demandé plus tard.
Un grand merci d'avance.