XL 2016 décocher la dernière ligne d'un tcd

loiseau jonathan

XLDnaute Nouveau
Bonjour,

je débute en vba.

j'aimerais savoir si il possible avec une ligne de code de pouvoir décocher la dernière case sélectionné dans un filtre d'un tcd
ci-dessous mon code mais si mydate n'est pas identique a mypvt alors cela me coche systématiquement la dernière case.

Sub Macro1()

Dim MyDate As String, MyPVT As PivotItem
MyDate = ThisWorkbook.Sheets("LIGNE 1").Range("Y8")

Application.ScreenUpdating = False

With ThisWorkbook.Sheets("TABL_DECLA_PVR")
With .PivotTables("Tableau croisé dynamique1").PivotFields("DATE X3")
.ClearAllFilters
For Each MyPVT In .PivotItems
If Format(MyPVT, "DD/MM/YYYY") = MyDate Then
MyPVT.Visible = True
Else
On Error GoTo Myerreur
MyPVT.Visible = False
End If
Next MyPVT
End With
End With

Exit Sub

Application.ScreenUpdating = False

Myerreur:
With ThisWorkbook.Sheets("TABL_DECLA_PVR").PivotTables("Tableau croisé dynamique1").PivotFields("DATE X3" _
)
.PivotItems("(blank)").Visible = True

End With


End Sub


j'espère être assez clair??? :)

merci pour vos retours.

cordialement
 

chris

XLDnaute Barbatruc
Bonjour

Sachant qu'on filtre un TCD d'un clic avec un segment, j'ai toujours un doute sur l'utilité du VBA pour ce faire

Si tu tiens à ta case MyDate , puisque tu as 2016, fais un requête PowerQuery intégrant ce choix et construit le TCD sur la requête : l'actualisation affichera un TCD vide si la date n’existe pas

Le blank dans un champ date interpelle : le source du TCD est-elle correctement définie ?
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 867
dernier inscrit
XFPRO