Bonjour tout le monde,
Cela fait longtemps que je ne suis plus venu, mais reste malgré tout fidèle.
J'ai beau parcourir les nombreux fils qui traite du sujet, mais je ne trouve pas ce qui correspond à mon besoin, même en y adaptant les codes proposés, aussi je fais appel à vos conseils avisés.
J'ai un onglet qui comprend plusieurs TCD, je souhaiterai filtrer ces données par mois/année, alors que les données elles sont sous la forme jj/mm/aaaa" "hh\:mm\:ss (extraction auto d'un ERP) , donc déjà un premier problème.
Pour simplifier l'opération, je saisi une date en D4 (ex: 01/02/16) sous la forme mm/aa, et souhaite que la macro applique ce filtre directement sur tout les TCD présent sur la feuille.
J'ai changé le format date de l'onglet source, j'ai essayé CDATE, NumberFormat dans le code,mais rien y fait, j'avoue là que je suis un peu perdu
Quand je fais un copier/coller de la cellule D4 dans le filtre date, ça marche. J'ai bien essayé l'enregistreur de macro pour comprendre le raisonnement, mais inexploitable pour coder ce que je souhaite faire.
Je ne sais pas si je suis suffisement clair, aussi je vous joint le fichier concerné, avec une macro que j'ai trouvé sur le forum, dont j'ai légèrement modifié le code, mais visiblement cela ne fonctionne pas.
Je vous joint le code
Document Cjoint
Si vous pouviez m'éclairer sur ce sujet, je vous en remercie par avance
Cela fait longtemps que je ne suis plus venu, mais reste malgré tout fidèle.
J'ai beau parcourir les nombreux fils qui traite du sujet, mais je ne trouve pas ce qui correspond à mon besoin, même en y adaptant les codes proposés, aussi je fais appel à vos conseils avisés.
J'ai un onglet qui comprend plusieurs TCD, je souhaiterai filtrer ces données par mois/année, alors que les données elles sont sous la forme jj/mm/aaaa" "hh\:mm\:ss (extraction auto d'un ERP) , donc déjà un premier problème.
Pour simplifier l'opération, je saisi une date en D4 (ex: 01/02/16) sous la forme mm/aa, et souhaite que la macro applique ce filtre directement sur tout les TCD présent sur la feuille.
J'ai changé le format date de l'onglet source, j'ai essayé CDATE, NumberFormat dans le code,mais rien y fait, j'avoue là que je suis un peu perdu
Quand je fais un copier/coller de la cellule D4 dans le filtre date, ça marche. J'ai bien essayé l'enregistreur de macro pour comprendre le raisonnement, mais inexploitable pour coder ce que je souhaite faire.
Je ne sais pas si je suis suffisement clair, aussi je vous joint le fichier concerné, avec une macro que j'ai trouvé sur le forum, dont j'ai légèrement modifié le code, mais visiblement cela ne fonctionne pas.
Je vous joint le code
Code:
Sub MasqueDates()
Dim p As PivotItem
Application.ScreenUpdating = False
With ActiveSheet.PivotTables(1).PivotFields("Date")
For Each p In .PivotItems
p.Visible = True
Next p
For Each p In .PivotItems
If p.Value <> Range("D4").Value Then
If .VisibleItems.Count > 1 Then
p.Visible = False
Else
AfficheToutesDates
MsgBox "Aucun élément à afficher pour la période!": Exit Sub
End If
End If
Next p
End With
Application.ScreenUpdating = True
End Sub
Sub AfficheToutesDates()
Dim p As PivotItem
Application.ScreenUpdating = False
With ActiveSheet.PivotTables(1).PivotFields("Date")
For Each p In .PivotItems
p.Visible = True
Next p
End With
Application.ScreenUpdating = True
End Sub
Document Cjoint
Si vous pouviez m'éclairer sur ce sujet, je vous en remercie par avance
Dernière édition: