Bonjour,
J'ai une macro qui me permet de sélectionner une même valeur dans les champs portant le même nom de tous mes TCD sur une même page. Mon problème, si je rentre une valeur qui est absente dans un des filtres des TCD, alors le filtre se met à "TOUS".
Je souhaiterais vérifier si la valeur est présente dans les filtres des TCD. Si elle est présente, alors on filtre avec le filtre sélectionné, si elle est absente, alors, on filtre avec la valeur "Vide", et on teste le TCD suivant.
Pouvez-vous m'aider à éclaircir la partie en vert, car là je sèche sévère après des heures de recherche...
Private Sub CommandButton1_Click()
ActiveSheet.Range("L17") = Analyste3
Dim PT As PivotTable
x = ActiveSheet.Range("L17").Value
Set PT4 = ActiveSheet.PivotTables("Tableau croisé dynamique4")
Set PT6 = ActiveSheet.PivotTables("Tableau croisé dynamique6")
Set PT8 = ActiveSheet.PivotTables("Tableau croisé dynamique8")
Set PT9 = ActiveSheet.PivotTables("Tableau croisé dynamique9")
Set PT10 = ActiveSheet.PivotTables("Tableau croisé dynamique10")
With PT4
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
'If x <> "" Then
.PivotFields("Analyste").CurrentPage = x
'If x = "" Then
'.PivotFields("Analyste").CurrentPage = "(Vide)"
End If
End If
End With
With PT6
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT8
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT9
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT10
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
ActiveWorkbook.RefreshAll
Unload UserForm8
End Sub
Merci,
Laurent.
J'ai une macro qui me permet de sélectionner une même valeur dans les champs portant le même nom de tous mes TCD sur une même page. Mon problème, si je rentre une valeur qui est absente dans un des filtres des TCD, alors le filtre se met à "TOUS".
Je souhaiterais vérifier si la valeur est présente dans les filtres des TCD. Si elle est présente, alors on filtre avec le filtre sélectionné, si elle est absente, alors, on filtre avec la valeur "Vide", et on teste le TCD suivant.
Pouvez-vous m'aider à éclaircir la partie en vert, car là je sèche sévère après des heures de recherche...
Private Sub CommandButton1_Click()
ActiveSheet.Range("L17") = Analyste3
Dim PT As PivotTable
x = ActiveSheet.Range("L17").Value
Set PT4 = ActiveSheet.PivotTables("Tableau croisé dynamique4")
Set PT6 = ActiveSheet.PivotTables("Tableau croisé dynamique6")
Set PT8 = ActiveSheet.PivotTables("Tableau croisé dynamique8")
Set PT9 = ActiveSheet.PivotTables("Tableau croisé dynamique9")
Set PT10 = ActiveSheet.PivotTables("Tableau croisé dynamique10")
With PT4
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
'If x <> "" Then
.PivotFields("Analyste").CurrentPage = x
'If x = "" Then
'.PivotFields("Analyste").CurrentPage = "(Vide)"
End If
End If
End With
With PT6
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT8
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT9
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
With PT10
.PivotCache.Refresh
.PivotFields("Analyste").CurrentPage = "(Tous)"
.PivotFields("Analyste").CurrentPage = x
End With
ActiveWorkbook.RefreshAll
Unload UserForm8
End Sub
Merci,
Laurent.