Bonjour,
Je possède dans un tableau croisé dynamique un filtre nommé postes techniques. Cependant, tous les postes techniques ne me sont pas nécessaire, et j'aimerai éviter de les choisir manuellement.
J'aimerai donc réaliser une macro qui sélectionnerait uniquement les postes techniques voulus, et si aucun des postes techniques voulus ne sont présents dans le filtre, faire en sorte que le filtre reste vide, qu'il désélectionne toutes les données !
Je ne m'y connais absolument pas en programmation mais j'ai quand même tenté quelques trucs :
Sub Test()
On Error GoTo Error
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Poste technique").ClearAllFilters
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Poste technique").CurrentPage = "AB-00050"
If ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Poste technique").CurrentPage <> "AB-00054" Then
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Poste technique").CurrentPage = "vide"
End If
Error:
Resume Next
End Sub
J'ai fais un test "manuel" en faisant lire le TCD le poste technique AB-00050, alors qu'il cherche uniquement le poste AB-00054.
Comme les deux données ne sont pas identiques, j'aimerai qu'il désélectionne toutes les données du filtre, ce qui évidemment n'est pas le cas dans mon exemple.
Ici AB-00050 prend uniquement la valeur "vide".
En gros, j'aimerai lui indiquer les postes techniques qu'il peut cocher, et ne rien faire s'ils ne correspondent pas. Et j'aimerai tant qu'à faire qu'il le fasse automatiquement au fur et à mesure que le tableau de données se complète.
J'espère avoir était suffisamment clair. Ce n'est pas vraiment facile à expliquer à l'écrit.
Je suis à votre disposition pour toutes autres informations !