XL 2013 Filtre critères choisi dans combobox

Appo1985

XLDnaute Occasionnel
Bonjour
J’aimerais pouvoir imprimer le tableau qui se trouve sur la feuille « BDD » après l’avoir filtrer selon le ou les choix dans les combobox situant dans le userform.
J’ais construis un autre tableau pour les critères au niveau de la plage " O1 :U2 ". Je sais pas aussi si c’est possible d’utiliser directement les valeur de combobox comme critères.
ci-joint le fichier
Merci par avance
 

Pièces jointes

  • filtre avancé combobox.xlsm
    21.9 KB · Affichages: 7

Dranreb

XLDnaute Barbatruc
Bonsoir.
Juste une question, pourquoi les boutons de filtre du tableau ne conviennent pas ?
Notez que je ne les aime pas non plus, et donc habituellement je ne les affiche pas.
N'empêche il y aurait du mieux dans les listes des ComboBox avec ça, hein ?
 

Pièces jointes

  • CbxLiéesAppo1985.xlsm
    95.4 KB · Affichages: 4

Lolote83

XLDnaute Barbatruc
Salut @Appo1985 ,
Je suis sur le projet, mais je vais passer à table et peut être demain je pourrai te fournir un truc.
Si d'ici là quelqu'un te donne une solution, je posterai tout de même.
Voici déjà une partie du code modifié en ayant renommé les différents combobox

VB:
Private Sub UserForm_Initialize()
    '-------------------------------------------------------------- SEXE
    With Cbo_Sexe
        .AddItem "Masculin"
        .AddItem "Feminin"
    End With
    
    '-------------------------------------------------------------- OPTION
    For Each xCell In Range("Tab_BDD[OPTION]")
        Cbo_Option = xCell.Value
        If Cbo_Option.ListIndex = -1 Then Cbo_Option.AddItem xCell.Value
    Next xCell

    '-------------------------------------------------------------- ECOLE
    For Each xCell In Range("Tab_BDD[ECOLE]")
        Cbo_Ecole = xCell.Value
        If Cbo_Ecole.ListIndex = -1 Then Cbo_Ecole.AddItem xCell.Value
    Next xCell

    '-------------------------------------------------------------- CENTRE
    With Cbo_Centre
        .AddItem "A"
        .AddItem "B"
    End With
    
    '-------------------------------------------------------------- JURY
    With Cbo_Jury
        .AddItem "Jury 1"
        .AddItem "Jury 2"
    End With
    
    '-------------------------------------------------------------- RESULTAT
    For Each xCell In Range("Tab_BDD[Résultat]")
        Cbo_Resultat = xCell.Value
        If Cbo_Resultat.ListIndex = -1 Then Cbo_Resultat.AddItem xCell.Value
    Next xCell
    
    '-------------------------------------------------------------- TRI PAR
    With Cbo_Tri
        .AddItem "Ordre alphabétique"
        .AddItem "Ordre de mérite"
    End With
    
    '-------------------------------------------------------------- Mise à blanc des comboBox
    Cbo_Sexe = Empty
    Cbo_Option = Empty
    Cbo_Ecole = Empty
    Cbo_Centre = Empty
    Cbo_Jury = Empty
    Cbo_Resultat = Empty
    Cbo_Tri = Empty
End Sub
@+ Lolote83
 

Appo1985

XLDnaute Occasionnel
bonjour
Commence par initialiser tes combobox ainsi
ComboBox1.RowSource = Sheets("BDD").ListObjects("tableau2").ListColumns(2).DataBodyRange.Address
La suite demain ;) pas le temps
Bonsoir. J'ai repris le fichier selon ma compréhension de votre indication. Je ne sais pas si c'est ainsi. Merci beaucoup
 

Pièces jointes

  • filtre avancé combobox.xlsm
    23.9 KB · Affichages: 3

Appo1985

XLDnaute Occasionnel
Salut @Appo1985 ,
Je suis sur le projet, mais je vais passer à table et peut être demain je pourrai te fournir un truc.
Si d'ici là quelqu'un te donne une solution, je posterai tout de même.
Voici déjà une partie du code modifié en ayant renommé les différents combobox

VB:
Private Sub UserForm_Initialize()
    '-------------------------------------------------------------- SEXE
    With Cbo_Sexe
        .AddItem "Masculin"
        .AddItem "Feminin"
    End With
    
    '-------------------------------------------------------------- OPTION
    For Each xCell In Range("Tab_BDD[OPTION]")
        Cbo_Option = xCell.Value
        If Cbo_Option.ListIndex = -1 Then Cbo_Option.AddItem xCell.Value
    Next xCell

    '-------------------------------------------------------------- ECOLE
    For Each xCell In Range("Tab_BDD[ECOLE]")
        Cbo_Ecole = xCell.Value
        If Cbo_Ecole.ListIndex = -1 Then Cbo_Ecole.AddItem xCell.Value
    Next xCell

    '-------------------------------------------------------------- CENTRE
    With Cbo_Centre
        .AddItem "A"
        .AddItem "B"
    End With
    
    '-------------------------------------------------------------- JURY
    With Cbo_Jury
        .AddItem "Jury 1"
        .AddItem "Jury 2"
    End With
    
    '-------------------------------------------------------------- RESULTAT
    For Each xCell In Range("Tab_BDD[Résultat]")
        Cbo_Resultat = xCell.Value
        If Cbo_Resultat.ListIndex = -1 Then Cbo_Resultat.AddItem xCell.Value
    Next xCell
    
    '-------------------------------------------------------------- TRI PAR
    With Cbo_Tri
        .AddItem "Ordre alphabétique"
        .AddItem "Ordre de mérite"
    End With
    
    '-------------------------------------------------------------- Mise à blanc des comboBox
    Cbo_Sexe = Empty
    Cbo_Option = Empty
    Cbo_Ecole = Empty
    Cbo_Centre = Empty
    Cbo_Jury = Empty
    Cbo_Resultat = Empty
    Cbo_Tri = Empty
End Sub
@+ Lolote83
Ok. Merci pour l'intérêt porter à ma requête
 

Appo1985

XLDnaute Occasionnel
Bonsoir.
Juste une question, pourquoi les boutons de filtre du tableau ne conviennent pas ?
Notez que je ne les aime pas non plus, et donc habituellement je ne les affiche pas.
N'empêche il y aurait du mieux dans les listes des ComboBox avec ça, hein ?
Bonsoir. Je vois déjà quelques chose de très intéressant. Les combobox sont interdépendants. c'est ce que je voulais faire avant de poster mais hélas je n'est aucune connaissance en VBA. Grandement merci
 

Dranreb

XLDnaute Barbatruc
Quelle erreur est signalée au juste ?
Il m'est venu une idée.
Je m'étais établi un modèle de classement du ListObject à l'aide de l'enregistreur de macro, et il m'a engendré des invocations à la méthode Add2 de l'objet SortFields, que j'ai repris. Votre version d'Excel étant plus ancienne, peut être que ça n'existe pas. Enlevez le 2 pour voir.
 

Discussions similaires

Réponses
69
Affichages
4 K

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin