Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Alimenter listbox

  • Initiateur de la discussion Initiateur de la discussion apdf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

apdf

XLDnaute Occasionnel
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
 

Pièces jointes

Re : Alimenter listbox

Bonjour,

Je suppose que ce que tu veux faire c'est mettre les régions dans ta listbox en fonction de ton choix dans ta combobox.
Si c'est le cas, je mettrais plutôt les régions en regard dans la ligne où se trouve le département. Ce serait nettement plus simple au niveau code.
exemple : en D4 ALSACE et en E4 Bas rhin et en F4 Haut rhin
Idem pour les autres

Ton avis

Amicalement
 
Re : Alimenter listbox

Bonjour Max, Dan (ça fait plaisir de te revoir !), bonjour le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous :
Code:
Private Sub UserForm_Initialize() 'à l'intialisation d la ComboBox1
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    Me.ComboBox1.List = .Range("D4:D" & .Cells(Application.Rows.Count, 4).End(xlUp).Row).Value 'alimente dynamiquement la Combobox1
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub 


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
ld = 0 'initialise la variable ld
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    lf = .Cells(Application.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
        For i = ld To lf 'boucle de la ligne de départ à la ligne de fin
            If .Cells(i, 8).Interior.ColorIndex = 36 Then Exit Sub '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
        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
Le fichier :
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
314
Réponses
5
Affichages
699
Réponses
17
Affichages
1 K
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…