Filtre sur TCD

hehee

XLDnaute Nouveau
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 ?

Code:
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 !
 
Dernière édition:

hehee

XLDnaute Nouveau
Re : Filtre sur TCD

Résolu !


Code:
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
 

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 457
Membres
104 168
dernier inscrit
alain_geremy