1
Je souhaite définir un filtre de tableau croisé dynamique avec la date d'un formulaire utilisateur. La date dans le formulaire utilisateur est strDateSelected = dtpDate.Value
.Comment définir le filtre d'un tableau croisé dynamique avec une date dans un formulaire utilisateur VBA Excel 2013
Mon code ne fonctionne pas et je ne sais pas pourquoi. Quelqu'un voit-il le problème?
Private Sub dtpDate_Change()
Call ExecuteRefresh
End Sub
Private Sub ExecuteRefresh()
Dim pvt As PivotTable
Dim pf As PivotField
Dim strDateSelected As String
Dim strCurrentFV As String
Set pvt = Worksheets("Sommaire 1").PivotTables("pvtFonctionJournee")
Set pf = pvt.PivotFields("Date")
strDateSelected = dtpDate.Value
Set pf = pvt.PivotFields("Date")
Call GetFirstPivotFieldValueSelected(pf, strCurrentFV)
pf.ClearAllFilters
pf.PivotItems(strCurrentFV).Visible = False
strDateSelected = Format(strDateSelected, "m\/d\/yyyy")
pf.PivotItems(strDateSelected).Visible = True
pvt.RefreshTable
End Sub
Private Sub GetFirstPivotFieldValueSelected(pf As PivotField, strFirstPFValueSelected As String)
strFirstPFValueSelected = ""
For Each Pi In pf.PivotItems
If Pi.Visible = True Then
strFirstPFValueSelected = Pi.Value
Exit Sub
End If
Next
End Sub
Avez-vous une erreur? Si oui, sur quelle ligne? – braX
Si la date existe, il fonctionne 1/2 fois. Donc c'est bizarre. Il y a une erreur quand la date n'existe pas. –
pf.PivotItems (strDateSelected) .Visible = True –