Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…