XL 2016 problème de filtre

Staple1600

XLDnaute Barbatruc
Re

@jean marc1234
Tu es bien sur d'avoir compris que Lone-Wolf a mis mes formules et mon code VBA dans son fichier exemple pour te faciliter la tâche ;)

Donc tu peux essayer ce que tu viens d'écrire
la je vais essayer aussi ce que ma donner staple
Mais sache que tu l'as déjà fait en testant le fichier de Lone-Wolf :D

PS: C'est normal que le fichier de Lone-Wolf fonctionne puisque mon code fonctionnait depuis le message#21...
(et même avant sur mon PC)
:rolleyes:
 

youky(BJ)

XLDnaute Barbatruc
Hello à tous,
Je pense que JeanMarc se mélange parfois les pinceaux
Voir message #5 il mets validité 01/01/2017 et expiration 31/12/2017 (soit 1 an)
Il y a pas de chance de trouver car toutes les dates entre validité et expiration il y a 3 ans d'écart
Pour moi les critères sont à revoir
Bruno
 

Staple1600

XLDnaute Barbatruc
Re, Bonsoir youky(BJ)

@Lone-wolf
Personnellement qu'une discussion se déroule sur N messages ne me dérange absolument pas.
Le principal c'est que le demandeur finisse par trouver chaussure à son pied ;)

@youky(BJ)
Disons que jeanmarc 1234 aime le ballon rond et est un grand fan de DD, alors forcément trop d'émotion peut perturber son utilisation d'Excel ;)
 

jean marc1234

XLDnaute Occasionnel
sa ressort rien
re bonjour à vous tous.
J'ai tester le fichier.
Donc quand je fait une recherche par exemple:
01/01/2021 - 31/12/2021 sa ne ressort rien
si je tape 01/01/2016-31/12/2021 se me ressort tous les enregistrements 2019-2020-2021
pas ce que je souhaite. Je voudrais pourvoir faire ressortir les enregistrements d'une seule année.
Par exemple si je tape 01/01/2019-31/12/2019 sa devrais me sortir que les enregistrements à échéance 2019.
HA oui au fait je n'ai pas regarder le foot. Mais je sais que ont est champion du monde.
 

jean marc1234

XLDnaute Occasionnel
Bonsoir le fil, le forum

@jean marc1234
Je ne comprends plus là
Précédemment tu disais
bonjour,
oui pardons, sa fonctionne mais pas comme je le souhaiterais.
Sa me ressort bien les données mais sur plusieurs années , comme signaler dans mon message. Maintenant cela n'est peut etre pas possible.
Je doit effectuer des programmation sur plusieurs années dans ce domaine mais également dans d'autres.(électrique , gaz , travail en hauteur et d'autres encore)
et je craint que cela m'induise en erreur un moment ou un autre.
Pour cela que je souhaite faire un trie sur deux dates.
 

jean marc1234

XLDnaute Occasionnel
r o
Je viens de trouver en reprenant le fichier de Staple
Voici les 2 fichiers qui fonctionne comme tu veux.
j'ai bien bataillé sur celui de Staple
Bruno
Bonjour
et ben la oui sa fonctionne comme je le souhaite.
Merci beaucoup à vous tous. Sincèrement et en plus vous avez le droit de vous moquer
 

youky(BJ)

XLDnaute Barbatruc
Bonsoir JM,
Désolé j'avais dans mes téléchargements retrouvé ce fichier portant ton nom.
D'ou la confusion, cela doit être à cause de l'ami Jacky.
Bruno
 

Staple1600

XLDnaute Barbatruc
Re

@jean marc1234
[petite crise d'égomanie]
C'est bizarre que je sois seul à qui tu n'es pas mis de "J'aime", non ?
J'ai pourtant donné de ma personne dans ce fil... ;)
[/[petite crise d'égomanie]

@youky(BJ)
Tu n'appliques le filtre que sur le champ Echéance
Dans ce cas, on peut simplifier.
 

jean marc1234

XLDnaute Occasionnel
Bonsoir JM,
Désolé j'avais dans mes téléchargements retrouvé ce fichier portant ton nom.
D'ou la confusion, cela doit être à cause de l'ami Jacky.
Bruno
pas de problème, j'apprécie vraiment le mal que vous vous donnez tous pour résoudre les problèmes que l'on vous exposes.
Encore merci.
 

Staple1600

XLDnaute Barbatruc
Re,

@jean marc1234
Je parlais des "Like"
Le bouton "J'aime" en bas à droite des messages.
Ah je viens de voir un Like apparaitre ;)

@youky(BJ)
Tu as mis comme critère Echéance le mais la formule est : =">=" & C7
(donc tu pointes sur Validé le)
Bizarre, non ?
 

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.
 

Discussions similaires


Haut Bas