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
Alors une petite variante de la macro précédente pour ce faire
(remplace le code existant dans la feuille filtre par le code ci-dessous)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p As Range, crit As Range
If Target.Count > 1 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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim v_AN, X
If Target.Address = "$D$7" Then
v_AN = InputBox("Choix de l'année de l'échéance ?", "Filtrage Echéance", Year(Date))
X = CDate("1/1/" & v_AN)
If Not IsDate(X) Then Exit Sub
[D7] = X
End If
End Sub
Et formate la cellule D7 avec ce format : aaaa

Pour tester, sélectionne la cellule D7 avec ta souris.
 

jean marc1234

XLDnaute Occasionnel
Re,

@jean marc1234
Alors une petite variante de la macro précédente pour ce faire
(remplace le code existant dans la feuille filtre par le code ci-dessous)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim p As Range, crit As Range
If Target.Count > 1 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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim v_AN, X
If Target.Address = "$D$7" Then
v_AN = InputBox("Choix de l'année de l'échéance ?", "Filtrage Echéance", Year(Date))
X = CDate("1/1/" & v_AN)
If Not IsDate(X) Then Exit Sub
[D7] = X
End If
End Sub
Et formate la cellule D7 avec ce format : aaaa

Pour tester, sélectionne la cellule D7 avec ta souris.
ha ben super sa.
Merci beaucoup sa fonctionne nickel et du coup encore plus simple.
Vraiment merci
 

jean marc1234

XLDnaute Occasionnel
bonjour à tous,
merci encore à vous tous pour le bon coup de main sur mon projet.
La sa fonctionne nickel.Donc je vais pourvoir continuer.
Je doit maintenant refaire la même chose pour quatre autres secteur d'activités.
Alors j'ai la possibilité de reproduire la feuille source et la feuille filtre. Ce qui va faire 8 feuille en plus.
Il y aurait t'il à votre avis un moyen de simplifié la chose.
 

jean marc1234

XLDnaute Occasionnel
Bonsoir le fil, le forum

@jean marc1234



Un tel moyen te fut proposé dès le message#2 par djidji59430 ;)

Mais tu n'as pas approfondi la chose...
Et pourtant c'est vraiment simple et puissant
Bonsoir le fil, le forum

@jean marc1234



Un tel moyen te fut proposé dès le message#2 par djidji59430 ;)

Mais tu n'as pas approfondi la chose...
Et pourtant c'est vraiment simple et puissant
bonjour staple,
oui j'avais effectivement pour les TCD.
Je m'en sert déjà sur certains classeur pour analyser des données.
Mais la je voulais essayer une autre méthode.
Maintenant si je n'ai pas le choix je ferais bien sur avec.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG