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.
Pouvez-vous m'aider svp ?
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
Merci d'avance !
Je sens que je n'ai pas été très clair... non ?![]()
Partager