Bonjour
Je recherche a alimenter ma listbox en fonction du choix de ma combobox.
Pour illustrer ma demande, je joins un fichier
je vous remercie d'avance
Cordialement
Max
Bonjour
Je recherche a alimenter ma listbox en fonction du choix de ma combobox.
Pour illustrer ma demande, je joins un fichier
je vous remercie d'avance
Cordialement
Max
Bonjour,
Je n'ai pas fait de l'art mais je pense que ça répond à ce que tu voulais faire.
Inspire toi de ce que j'ai fait pour adapter a ton fichier
----------------------
Je constate qu'il faut encore travailler sur le fichier car il a 2 3 trucs pas terribles ^^
Une bonne conception aide beaucoup. Si en feuil tu as les données établies comme ceci, ça sera plus simple
ALSACE Bas-Rhin ALSACE Haut-Rhin ALSACE Dordogne AQUITAINE Gironde AQUITAINE Landes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub ComboBox1_Change() 'au changement dans la ComboBox1 Dim R As Range 'déclare la variable r (Recherche) Dim Ld As Integer 'déclare la variable ld (Ligne de Départ) Dim Lf As Integer 'déclare la variable lf (Ligne de Fin) Dim i As Integer 'déclare la variable i (incrément) Me.ListBox1.Clear 'vide la ListBox1 With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" Lf = .Cells(.Rows.Count, 7).End(xlUp).Row 'définit la ligne de fin Set R = .Columns(7).Find(Me.ComboBox1.Value, , xlValues, xlWhole) 'définit la recherche If Not R Is Nothing Then 'condition : si il existe au moins une occurrence Ld = R.Row 'définit la ligne de départ Set R = Nothing For i = Ld To Lf 'boucle de la ligne de départ à la ligne de fin If .Cells(i, 7) = Me.ComboBox1.Value Then 'si la couleur de la cellule est "jaune clair", sort de la procédure Me.ListBox1.AddItem .Cells(i, 8) 'ajoute la valeur de la cellule en colonne H à la ListBox1 Else Exit For End If Next i 'prochaine ligne de la boucle Else 'sinon MsgBox "Région non trouvée !" 'message End If 'fin de la condition End With 'fin de la prise en compte de l'onglet "Feuil1" End Sub
Bonjour mercatog
Je te remercie beaucoup mais je ne peut pas avoir une autre conception que celle la, sinon tous le reste est a refaire.
J'ai mis mis ton code sur sur l'User mais il doit avoir un bleme ou alors j'ai du oublier quelque chose .
Cordialement
Max
Si tu veux garder ta conception, au lieu de tester la couleur de fond de la cellule contenant le nom de la région, on teste sur les cellules écrites en majuscule
Testé sur ton fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub ComboBox1_Change() 'au changement dans la ComboBox1 Dim R As Range 'déclare la variable r (Recherche) Dim Ld As Integer 'déclare la variable ld (Ligne de Départ) Dim Lf As Integer 'déclare la variable lf (Ligne de Fin) Dim i As Integer 'déclare la variable i (incrément) Me.ListBox1.Clear 'vide la ListBox1 With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" Lf = .Cells(.Rows.Count, 8).End(xlUp).Row 'définit la ligne de fin Set R = .Columns(8).Find(Me.ComboBox1.Value, , xlValues, xlWhole) 'définit la recherche If Not R Is Nothing Then 'condition : si il existe au moins une occurrence Ld = R.Row + 1 'définit la ligne de départ Set R = Nothing For i = Ld To Lf 'boucle de la ligne de départ à la ligne de fin If UCase(.Cells(i, 8)) <> .Cells(i, 8) Then 'si la couleur de la cellule est "jaune clair", sort de la procédure Me.ListBox1.AddItem .Cells(i, 8) 'ajoute la valeur de la cellule en colonne H à la ListBox1 Else Exit For End If Next i 'prochaine ligne de la boucle Else 'sinon MsgBox "Région non trouvée !" 'message End If 'fin de la condition End With 'fin de la prise en compte de l'onglet "Feuil1" End Sub
Re mercatog,
Nickel je te remercie et te souhaite une bonne journée
Juste une demande pourrez tu allez voir si le temps te le permet un post que j'ai mis ce matin intitulé "Inserer deux WebBrowser"
J'avoue, ne pas savoir comment faire ?
merci d'avance
Max
Partager