Bonsoir,

Dans un classeur, j'ai sur la feuille 1 une liste de prénoms correspondant à une colonne dans la feuille 2 contenant l'ensemble de ces prénoms (colonne C). Sur cette même feuille, on retrouve, sur une deuxième colonne, face à ces prénoms, des noms d'activités liés aux prénoms (colonne A). Le code ci-dessous me crée sur la colonne F de la feuille 2 une série d'activités, filtrée en fonction du prénom choisi en c3. Jusque là, tout va bien.

Voici à présent ce que je souhaiterais : sur la feuille 2, colonne B, on retrouve un autre paramètre lié également aux colonnes A et C. Par exemple, on peut admettre que ce paramètre est un jour de la semaine. J'aimerais obtenir sur la colonne H une série des activités déjà filtrées précédemment en fonction du prénom, refiltrée sur un jour particulier (disons "lundi"). J'ai essayé d'appliquer la même méthode que ci-dessous (très gentiment donnée par un membre d'un autre forum dédié à Excel, je l'en remercie), sans succès...

J'ai essayé d'exposer au mieux le problème, si quelque chose n'est pas clair, n'hésitez pas à m'en faire part.

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
Private Sub Worksheet_Change(ByVal Target As Range)
Dim f1 As Worksheet, f2 As Worksheet
  If Flag Then Exit Sub
  If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
    Application.ScreenUpdating = False
    Set f1 = Sheets("Feuille 1")
    Set f2 = Sheets("Feuille 2")
        If Target.Count > 1 Then Exit Sub
    Flag = True
        Range("b12").ClearContents 'cellule où l'on retrouve la première liste
    Flag = False
    f1.Range("k2") = "=Feuille 2!c2=Feuille 1!c3"
    f2.Range("a1:c" & f2.[a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    f1.Range("k1:k2"), CopyToRange:=f2.Range("f1"), Unique:=False
    f1.Range("k2").ClearContents
  End If
End Sub
Pouvez-vous m'aider svp ?
Merci d'avance !

Je sens que je n'ai pas été très clair... non ?