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 :

Filtre automatique dans combobox VBA


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 55
    Par défaut Filtre automatique dans combobox VBA
    Bonjour,

    J'ai codé une petite application en VBA qui me permet de réaliser des filtres automatique mais sans un aspect "feuille Excel".

    ouskel'n'or m'a aidé à résoudre pas mal de petits soucis (ici).

    Mais il me reste une problématique:
    J'ai un tableau et dans un userform 10 combobox qui correspondent chacune à une colonne de mon tableau. C'est combobox sont alimentées de telle façon qu'il n'y ait pas de doublon et classé par ordre alphabétiques.

    Toutes ces combobox fonctionne très bien indépendamment (le résultat du filtre s'affiche dans une listebox) mais je souhaiterais qu'elle fonctionne comme un filtre automatique sous Excel. C'est à dire que dès que je sélectionne une combobox, les autres se recalcule en fonction du résultat.

    Je met le programme en pièce jointe et le code de la fonction qui remplit ses combobox

    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
    Private Sub UserForm_Initialize()
        Dim Plage As Range
        Set Plage = Range("A1").CurrentRegion
        RemplirListe RechercheC1, Plage, 1
        RemplirListe RechercheC2, Plage, 2
        RemplirListe RechercheC3, Plage, 4
        RemplirListe RechercheC4, Plage, 5
        RemplirListe RechercheC5, Plage, 6
        RemplirListe RechercheC6, Plage, 7
        RemplirListe RechercheC7, Plage, 8
        RemplirListe RechercheC8, Plage, 9
        RemplirListe RechercheC9, Plage, 10
        RemplirListe RechercheC10, Plage, 13
        Call Rechercher
    End Sub
    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
    Sub RemplirListe(Liste As ComboBox, Plage As Range, Colonne As Long)
        Dim j As Long
        With Plage
            'Tri sur la colonne
            .Sort key1:=.Cells(1, Colonne), order1:=xlAscending, Header:=xlYes
            'Ajoute la 1ere entree (2eme ligne)
            Liste.AddItem .Cells(2, Colonne)
            For j = 3 To .Rows.Count - 1
                'Ne charge pas les cellules vides
                If IsEmpty(.Cells(j, Colonne)) Then Exit For
                'Filtre les doublons
                If .Cells(j, Colonne) <> .Cells(j - 1, Colonne) Then Liste.AddItem .Cells(j, Colonne)
            Next
        End With
    End Sub
    Merci d'avance
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2010] Filtre automatique dans userform
    Par duplaly dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 20/07/2011, 00h42
  2. [AC-2007] Filtres automatiques dans un formulaire
    Par vandrie dans le forum IHM
    Réponses: 1
    Dernier message: 06/09/2010, 17h23
  3. [XL-2003] Filtre Automatique dans tableau
    Par Tintou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/03/2010, 18h15
  4. Saisie semi-automatique dans combobox
    Par method_man dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/04/2007, 16h11
  5. [Excel] Récupération d'un filtre automatique dans une cellule
    Par billy123 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/03/2007, 15h32

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