IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

tri liste combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Par défaut tri liste combobox
    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 : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    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

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour

    Ci joint démo basique pour éliminer les doublons d'une plage et la trier

    concernant les doublons, l'objet "dictionary" est + efficace et rapide que l'objet "collection" car ce dernier active et désactive le gestionnaire d'erreur à chaque test

    en espèrant que

    nota: je ne suis pas l'auteur de la procédure de tri
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. propriété dans usercontrol à partir d'une liste(combobox)
    Par salihovic dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/11/2007, 16h02
  2. Probleme tri liste Sharepoint
    Par oOoOuuhmAn dans le forum InfoPath
    Réponses: 1
    Dernier message: 12/09/2007, 09h42
  3. [VBA]amelioration liste combobox
    Par surftoon dans le forum Général VBA
    Réponses: 2
    Dernier message: 25/04/2007, 20h10
  4. Réponses: 6
    Dernier message: 28/03/2007, 15h53
  5. Réponses: 1
    Dernier message: 17/01/2007, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo