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

Trier liste combobox

  • Initiateur de la discussion Initiateur de la discussion duplaly
  • 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 !

duplaly

XLDnaute Occasionnel
Bonjour
Voici le code que j'utilise pour remplir mes combobox en cascade, mais je n'arrive pas à trier le combo initial, soit le 3.
Toute aide sera appréciée.
J'aurais préféré utilisé la méthode collection aussi, mais je ne sais pas comment elle fonctionne.
un coup de main est bienvenue.
Merci



Code:
 Option Explicit
 
Dim Ws As Worksheet
Dim NbLignes As Integer
 
Private Sub UserForm_Initialize()
    'Définit la feuille contenant les données
    Set Ws = Worksheets("Empl")
    'Définit le nombre de lignes dans la colonne A
    NbLignes = Ws.Range("A65536").End(xlUp).Row
    
    'Remplissage du ComboBox3
    Alim_Combo 3
    
End Sub
Private Sub ComboBox3_Change()
    'Remplissage Combo4
    Alim_Combo 4, ComboBox3.Value
End Sub
 
'Procédure pour alimenter les ComboBox
Private Sub Alim_Combo(CbxIndex As Integer, Optional Cible As Variant)
    Dim j As Integer
    Dim Obj As Control
    
    'Définit le ComboBox à remplir
    Set Obj = Me.Controls("ComboBox" & CbxIndex)
    'Supprime les anciennes données
    Obj.Clear
    
    'alimente le Combobox initial (Combobox3)
    If CbxIndex = 3 Then
        'Boucle sur les lignes de la colonne A (à partir de la 2eme ligne)
        For j = 8 To NbLignes
            Obj = Ws.Range("G" & j)
            'Remplit le ComboBox sans doublons
            If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("G" & j)
        Next j
    Else
        For j = 8 To NbLignes
            If Ws.Range("G" & j).Offset(0, CbxIndex - 4) = Cible Then
                Obj = Ws.Range("G" & j).Offset(0, CbxIndex - 7)
                If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("G" & j).Offset(0, CbxIndex - 7)
            End If
        Next j
   End If
   
   'Enlève la sélection dans le ComboBox
   Obj.ListIndex = -1
End Sub
 
Private Sub CommandButton1_Click()
Unload Me
End Sub
 
Re : Trier liste combobox

Bonjour dupaly


Bonjour
Voici le code que j'utilise pour remplir mes combobox en cascade, mais je n'arrive pas à trier le combo initial, soit le 3.
Toute aide sera appréciée.

Le lien vers la FAQ te montre comment trier. 😉
Ma réponse dans ton fil dans ton fil réponds à cette assertion. 😎

PS :X LD fourmille de fil ou l'on cause liste en cascade, tu vas bien finir par tomber sur un exemple intéressant pour résoudre ton problème.
conseil: Focalises toi sur les fils où intervint JB.

EDITION: bonjour Pierrot93
 
Dernière édition:
- 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

Réponses
3
Affichages
332
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
292
Réponses
15
Affichages
776
Réponses
4
Affichages
729
Réponses
10
Affichages
661
Réponses
5
Affichages
417
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…