XL 2016 problème de filtre

jean marc1234

XLDnaute Occasionnel
bonjour tous le monde,
je revient vers vous pour un problème de filtrage de données.
J'ai une page dans mon classeur qui devrais me servir à filtre des données d'un tableau se trouvant sur une autre feuille du même classeur.
Mon problème est que mon filtre ne marche pas.
J'ai vérifier pas de ligne vide dans mon tableau source, écriture exact des champs de critères.
Le pire c'est que je l'ai déjà fait sur un autre classeur et que cela fonctionne très bien.
Je comprend pas pourquoi, donc si quelqu'un pouvait me donner un ptit coup de main.
Merci d'avance.
 

Staple1600

XLDnaute Barbatruc
Re
@jean marc1234
Non quand tu lis ceci
@jean marc1234
texte texte texte
Cela veut dire que je m'adresse à toi

Et donc en régle générale, sur le forum:
@pseudo d'un xldnaute veut dire que le texte qui suit le concerne

Donc dans mon précédent message, il y avait une partie du message qui te concernait et l'autre qui concernait youky(BJ)

Pour revenir à la question , tout à l'heure, je parlais de simplicifation
Donc si tu cherches à filtrer par année, on peut modifier ainsi
1) Le critère du filtre change (la formule en K2 sur la feuille filtre) devient
=ANNEE(source2!$C2)=ANNEE(filtre!$D$7)
NB: La cellule K1 doit alors absolument être vide

2) La macro doit être ainsi modifiée
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p As Range, crit As Range
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C7:E7")) Is Nothing Then Exit Sub
If Not IsDate([C7]) And Not IsDate([D7]) Then Exit Sub
If [E7] = "" Then Exit Sub
[B11:E1000].ClearContents
Set p = Range("filtre!$B$10:$E$10")
Set crit = Feuil3.Range("filtre!$K$1:$L$2")
Sheets("source2").Range("TableauSource[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=crit, CopyToRange:=p, Unique:=False
End Sub

Ensuite, il suffit juste de saisir une date en D7 pour que les données soient filtrées sur l'année de la date en D7.

(test OK sur le fichier fourni par youki(BJ))
 

jean marc1234

XLDnaute Occasionnel
Re
@jean marc1234
Non quand tu lis ceci
@jean marc1234
texte texte texte
Cela veut dire que je m'adresse à toi

Et donc en régle générale, sur le forum:
@pseudo d'un xldnaute veut dire que le texte qui suit le concerne

Donc dans mon précédent message, il y avait une partie du message qui te concernait et l'autre qui concernait youky(BJ)

Pour revenir à la question , tout à l'heure, je parlais de simplicifation
Donc si tu cherches à filtrer par année, on peut modifier ainsi
1) Le critère du filtre change (la formule en K2 sur la feuille filtre) devient
=ANNEE(source2!$C2)=ANNEE(filtre!$D$7)
NB: La cellule K1 doit alors absolument être vide

2) La macro doit être ainsi modifiée
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p As Range, crit As Range
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C7:E7")) Is Nothing Then Exit Sub
If Not IsDate([C7]) And Not IsDate([D7]) Then Exit Sub
If [E7] = "" Then Exit Sub
[B11:E1000].ClearContents
Set p = Range("filtre!$B$10:$E$10")
Set crit = Feuil3.Range("filtre!$K$1:$L$2")
Sheets("source2").Range("TableauSource[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=crit, CopyToRange:=p, Unique:=False
End Sub

Ensuite, il suffit juste de saisir une date en D7 pour que les données soient filtrées sur l'année de la date en D7.

(test OK sur le fichier fourni par youki(BJ))
aurais tu par hasard ce fichier parce que moi vu que se que à poster youki au poste 68 fonctionne nickel j'ai pas garder les autres.
Pour pas me mélanger les pinceaux.
 

jean marc1234

XLDnaute Occasionnel
Re
@jean marc1234
Non quand tu lis ceci
@jean marc1234
texte texte texte
Cela veut dire que je m'adresse à toi

Et donc en régle générale, sur le forum:
@pseudo d'un xldnaute veut dire que le texte qui suit le concerne

Donc dans mon précédent message, il y avait une partie du message qui te concernait et l'autre qui concernait youky(BJ)

Pour revenir à la question , tout à l'heure, je parlais de simplicifation
Donc si tu cherches à filtrer par année, on peut modifier ainsi
1) Le critère du filtre change (la formule en K2 sur la feuille filtre) devient
=ANNEE(source2!$C2)=ANNEE(filtre!$D$7)
NB: La cellule K1 doit alors absolument être vide

2) La macro doit être ainsi modifiée
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p As Range, crit As Range
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C7:E7")) Is Nothing Then Exit Sub
If Not IsDate([C7]) And Not IsDate([D7]) Then Exit Sub
If [E7] = "" Then Exit Sub
[B11:E1000].ClearContents
Set p = Range("filtre!$B$10:$E$10")
Set crit = Feuil3.Range("filtre!$K$1:$L$2")
Sheets("source2").Range("TableauSource[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=crit, CopyToRange:=p, Unique:=False
End Sub

Ensuite, il suffit juste de saisir une date en D7 pour que les données soient filtrées sur l'année de la date en D7.

(test OK sur le fichier fourni par youki(BJ))
k1 doit etre absolument vide? Sa ne serait pas k2 plutôt?
 

Staple1600

XLDnaute Barbatruc
Re

@jean marc1234
Oui, quand on suit les instructions données, cela fonctionne ;)

Si tu saisis par exemple en D7: 01/01/2020
Eh bien, le filtre affichera les données qui ont une échéance en 2020.

PS: Tu te rappelles que cette modif a pour but de faire ceci: filtrer sur une année donnée
Re
Pour revenir à la question , tout à l'heure, je parlais de simplicifation
Donc si tu cherches à filtrer par année, on peut modifier ainsi
1) Le critère du filtre change (la formule en K2 sur la feuille filtre) devient
=ANNEE(source2!$C2)=ANNEE(filtre!$D$7)
NB: La cellule K1 doit alors absolument être vide
(test OK sur le fichier fourni par youki(BJ))
 

jean marc1234

XLDnaute Occasionnel
Re

@jean marc1234
Oui, quand on suit les instructions données, cela fonctionne ;)

Si tu saisis par exemple en D7: 01/01/2020
Eh bien, le filtre affichera les données qui ont une échéance en 2020.

PS: Tu te rappelles que cette modif a pour but de faire ceci: filtrer sur une année donnée
oui, nickel sa fonctionne
petite question: c6,c7 et j1,j2 sur la page filtre peuvent etre supprimer?
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata