Comment filtrer les résultats issus de 2 combobox différentes ?

Bonjour à tous,

Novice sur VBA (même pas au niveau d'apprenti sorcier), je trime pour produire un premier fichier permettant de suivre des engagement de sapeurs-pompiers.

Je sollicite donc votre aide car j'ai beau chercher, il est parfois difficile lorsque l'on est néophyte de comprendre des codes, mêmes simples.

Le fichier comprend plusieurs onglets, dont deux sont "déguisés" en menus de navigation et un onglet pour les listes de noms.

Je vous présente partiellement le fonctionnement attendu :

  • Les chefs de centre remplissent chacun leur tour les informations relatives à leurs candidats (feuil 1 saisie initiale).
  • Les CMVG (en charge de faire passer les épreuves) complètent leur partie avant et pendant les épreuves (feuil 3 saisie CTAE).

J'ai créé entre autres 2 feuilles pour les CMVG : une destinée à être diffusée avec les résultats finaux (feuil 7 PV CTAE), pour laquelle j'ai réussi à faire un userform permettant de filtrer les résultats par dates de session.

La seconde feuille me pose plus de difficulté (feuil 9 notation CTAE). Il s'agit d'une feuille de brouillon destinée à être imprimée, qui permet aux examinateurs de noter au stylo les résultats pendant les épreuves. J'ai donc reproduit mon userform filtrant par date mais il me faut aussi filtrer par groupe de candidats car des sous-groupes peuvent être constitués pendant les épreuves.

Mon problème est le suivant :

lorsque je filtre par date, pas de problème, mais si je filtre après par les numéros de groupe : c'est la catastrophe. Les résultats du premiers filtre ne sont pas pris en compte et je ne retrouve pas mes candidats.

Je suis donc preneur d'un petit coup de pouce sur l'écriture de mes userform.

Merci d'avance pour votre aide

Bonjour llg78,

A essayer :

Cordialement,

Bonjour et bienvenue sur le forum

Bonjour à tous

Un autre essai.

Bye !

Bonjour llg78,

A essayer :

Copie de test1 Projet Engagement SPV v3.xlsm

Cordialement,

Bonjour IronBoule,

Merci de ta proposition. Cela correspond à mes attentes.

Malheureusement, une message d'erreur apparaît lorsque l'on clique sur le bouton valider (celui du UserForm3).

Je pensais que c'était dû à une erreur entre menu1 et menu3

Dim menu1 As String menu3 = ComboBox3.Value

Correction faite, cela semblait fonctionner mais je constate lorsque l'on répète l'utilisation des UserForm en alternant la sélection de dates, les chiffres des groupes ne correspondent plus.

Avez-vous une idée de ce qui doit être modifié dans le code ?

D'avance merci.

Re llg78,

Pour que cela fonctionne correctement, il faut remplacer dans le code de UserForm3

UserForm3.Hide

par

Unload Me

Pour qu'une fois l'UserForm appelé une seconde fois, il repasse par le "Initialize".

Cordialement,

Re llg78,

Pour que cela fonctionne correctement, il faut remplacer dans le code de UserForm3

UserForm3.Hide

par

Unload Me

Pour qu'une fois l'UserForm appelé une seconde fois, il repasse par le "Initialize".

Cordialement,

Merci beaucoup.

Voici donc le code final qui fonctionne :

Private Sub UserForm_Initialize()
Dim Cell As Range
    'Supprime les données existantes dans le ComboBox
    Me.ComboBox3.Clear
    'Boucle sur les cellules de la plage P15:P51 pour
    'alimenter le ComboBox
    With Worksheets("Notation CTAE")
        For Each Cell In .Range("Q15:Q" & .Range("Q" & Rows.Count).End(xlUp).Row).SpecialCells(xlVisible)
            Me.ComboBox3 = Cell
            'remplissage sans doublon
            If Me.ComboBox3.ListIndex = -1 Then _
            Me.ComboBox3.AddItem Cell
        Next Cell
    End With
End Sub

Private Sub CommandButton3_Click()
Dim menu3 As String
menu3 = ComboBox3.Value
          ActiveSheet.Range("$A$14:$Q$50").AutoFilter Field:=17, Operator:= _
        xlFilterValues, Criteria1:=menu3

Sheets("Notation CTAE").Range("G4") = "LISTE DES CANDIDATS - GROUPE " & ComboBox3

        Unload Me

End Sub

Merci aussi à GMB de m'avoir répondu et qui m'a donner des idées pour améliorer mon projet.

Rechercher des sujets similaires à "comment filtrer resultats issus combobox differentes"