Listes déroulantes et tris

rouday55 Messages postés 40 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 8 décembre 2011 - 25 déc. 2010 à 15:02
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 - 26 déc. 2010 à 17:30
Bonjour et Joyeux Noël à tous !!!!!!!!!!
Je sollicite votre aide parce que tout le monde n'est pas de repos aujourd'hui :(
J'utilise des tableaux sur Excel avec des numéros de références et je voudrais faire des listes déroulantes qui fassent des tris.
J'ai trouvé exactement le genre de fonction sur le site de Renault avec les dimensions des pneus : pneumatiques

Intéressons nous juste aux champs Largeur Série et Diamètre
Comment faire sur Excel des combobox similaires ?
Quand on choisit la taille dans le 1er champs, ca active le 2eme champs tout en faisant en tri par rapport au champs 1 sélectionné et ainsi de suite pour le 3eme champs ?

Si vous avez un peu de temps pour m'expliquer ou me montrer un exemple similaire, ca serait super sympa
merciii

Ex de liste sous Excel :

Largeur Serie Diametre
135 80 13
145 70 13
80 13
155 65 14
70 13
80 13
165 65 13
14
15
70 13
14
75 14

1 réponse

marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
26 déc. 2010 à 17:30
Bonjour,

Ci-dessous le code qui va bien.

A créer dans la feuille principale :

- 3 combobox (De 1 à 3), Ne pas les mettre dans les 3 premières colonnes.
- A partir de la colonne 1, saisir les valeurs :
- première ligne, colonne 1 "Largeur", colonne 2 "Série", colonne 3 "Diamètre"
De la deuxième à la ligne X, saisir les valeurs dans les colonnes.

Le principe :

On sélectionne la largeur dans le premier Combobox, le deuxième est alimenté, sélection dans le deuxième combobox, le troisième combobox est alimenté.

si dans le premier on choisit le libellé "Largeur", le deuxième aura 1 valeur : "Série" et le troisième aura comme valeur "Diamètre".

J'espère que cela va vous aider. Si vous voulez le source faite le moi savoir.

Bonnes fêtes

Didier



' ***** Code dans l'ouverture du classeur ******
'
Private Sub Workbook_Open()

'Remplissage du Combobox1

Application.Worksheets("Recherche").ComboBox1.AddItem "Largeur", 0
Application.Worksheets("Recherche").ComboBox1.AddItem "135", 1
Application.Worksheets("Recherche").ComboBox1.AddItem "145", 2
Application.Worksheets("Recherche").ComboBox1.AddItem "155", 3
Application.Worksheets("Recherche").ComboBox1.AddItem "165", 4

Application.Worksheets("Recherche").ComboBox2.Clear
Application.Worksheets("Recherche").ComboBox3.Clear

Application.Worksheets("Recherche").ComboBox2.AddItem "Série", 0
Application.Worksheets("Recherche").ComboBox3.AddItem "Diamètre", 0

'
Application.Worksheets("Recherche").ComboBox1.ListIndex = 0
Application.Worksheets("Recherche").ComboBox2.ListIndex = 0
Application.Worksheets("Recherche").ComboBox3.ListIndex = 0

End Sub

' ***** Code en relation avec la feuille ******
Private Ivaleur As String
Private K10 As Integer
Private J As Integer
Private I As Integer

Private Sub ComboBox1_Change()

'
Me.ComboBox2.Clear
Me.ComboBox3.Clear

'
If Me.ComboBox1.ListIndex = 0 Then
Me.ComboBox2.AddItem "Série", 0
Me.ComboBox3.AddItem "Diamètre", 0
Me.ComboBox2.ListIndex = 0
Me.ComboBox3.ListIndex = 0
Exit Sub
End If

K10 = 0

'Recherche
J = 1

For I = 1 To 50

If Application.Worksheets("Recherche").Cells(I, J).Value = Me.ComboBox1.Text Then
Application.Worksheets("Recherche").ComboBox2.AddItem Application.Worksheets("Recherche").Cells(I, J + 1).Value, K10
K10 = K10 + 1
End If

Next I


End Sub

Private Sub ComboBox2_Change()

Me.ComboBox3.Clear


K10 = 0

'Recherche
'
J = 1

For I = 1 To 50

If (Application.Worksheets("Recherche").Cells(I, J).Value Me.ComboBox1.Text And Application.Worksheets("Recherche").Cells(I, J + 1).Value Me.ComboBox2.Text) Then

Me.ComboBox3.AddItem Application.Worksheets("Recherche").Cells(I, J + 2).Value, K10
K10 = K10 + 1

End If

Next I

' *******


End Sub
0
Rejoignez-nous