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 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.