Filtre sur TCD

Bonjour,

J'ai un Tableau croisé dynamique que j'aimerais filtrer pour n'avoir que élément numérique (0 à 9), car j'ai aussi des lettres de A à Z.

Serait-il possible de faire un code qui permet de tester l'élément, et s'il n'est pas numérique, alors le rendre invisible ?

  
Dim pi As PivotItem

'Active tous les éléments  
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Gauche component")
    .EnableMultiplePageItems = True
    .CurrentPage = "(All)" 'ou TOUS
End With

'PAr la suite, il faudrait que je cache les "non-numériques"
'J'ai donc testé avec ça, mais ca bug à la première ligne :( 

For Each pi In ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Gauche component")
    If Not IsNumeric(pi) Then

        pi.Visible = False

    End If
Next pi

Merci de votre aide !

Bonjour,

Et un petit fichier, c'est du domaine du possible

Jean-Eric a écrit :

Bonjour,

Et un petit fichier, c'est du domaine du possible

Malheureusement non, c'ar il y a beaucoup trop de données confidentielles

Sub PivotField_VisibleNumeric()
 Dim pvtItem As PivotItem
 Const FldName As String = "Division" ' Nom du champ du filtre de rapport à sélectionner

 Dim pvtTable As PivotTable, pvtField As PivotField
 Set pvtTable = ActiveSheet.PivotTables("Tableau croisé dynamique1")
 Set pvtField = pvtTable.PivotFields(FldName)
 For Each pvtItem In pvtField.PivotItems: pvtItem.Visible = True: Next ' Tous les filtres visibles pour éviter une erreur
 For Each pvtItem In pvtField.PivotItems
  pvtItem.Visible = IsNumeric(pvtItem) ' Active les numériques
  'pvtItem.Visible = Not (IsNumeric(pvtItem)) ' Active les non numérique
 Next
End Sub

Résolu!

Rechercher des sujets similaires à "filtre tcd"