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

Calcul nb items cochés dans un pivot d'un TCD

Colombine

XLDnaute Junior
Bonsoir à tous,

Je cherche à comptabiliser le nombre d'items cochés dans un de mes pivot de mon TCD.
J'ai fait des recherches et j'ai trouvé des réponses mais aucunes ne fonctionne.
Voici ce que j'ai fait mais ça ne fonctionne pas sous Office 2007 :


Dim Nbpiv As Integer 'Nombre d'items de mon pivot
Dim Coche As Integer 'Nombre d'items cochés
Dim i As Integer

Nbpiv = ActiveSheet.PivotTables("TCD").PivotFields("Label_sho").PivotItems.Count

i = 1
Coche = 0

For i = 1 To Nbpiv

If ActiveSheet.PivotTables("TCD").PivotFields("Label_sho").PivotItems(i).Visible = True Then
Coche = Coche + 1
End If

Next i


Savez vous ou est mon erreur?
Merci pour votre aide.

Colombine
 

chris

XLDnaute Barbatruc
Re : Calcul nb items cochés dans un pivot d'un TCD

Bonjour

Essaye de dimensionner tes variables en long si ton TCD contient beaucoup de données sinon poste un exemple.

Sur 2010 avec un petit TCD ton code fonctionne...
 

Colombine

XLDnaute Junior
Re : Calcul nb items cochés dans un pivot d'un TCD

bonjour,
mon TCD n'est pas super grand et même en mettant LONG à la place d'INTEGER ça ne fonctionne pas.
Voici mon fichier , mon TCD est dans essai , ma macro est comptage .
Merci pour votre aide.
Colombine
 

Pièces jointes

  • test.xlsm
    939.9 KB · Affichages: 43
  • test.xlsm
    939.9 KB · Affichages: 43
  • test.xlsm
    939.9 KB · Affichages: 44

chris

XLDnaute Barbatruc
Re : Calcul nb items cochés dans un pivot d'un TCD

Bonjour

Ta source est nommée Données et semble issue d'une source externe. Elle devrait être sous forme de tableau.
Depuis la version 2007 Excel met automatiquement les données liées à une source externe sous forme de tableau.

Sinon supprime la requête et mets ces données sous forme de tableau.

Ton TCD est basé sur des colonnes complètes : cela donne la valeur (vide) dans chaque filtre.

Or cette valeur pose problème en VBA, de même que les dates, quand on veut tester visible.

Si tu mets les données source sous forme de Tableau et bases ton TCD sur ce tableau tu n'auras plus de (vide) sauf Label_hhn qui ne semble pas utilisé.
 
G

Guest

Guest
Re : Calcul nb items cochés dans un pivot d'un TCD

Bonjour,

Coucou Chris

avec l'exemple du classeur, je n'ai pas de problème avec:
Code:
Sub comptage()
Dim pvi As PivotItem 'objet
Dim Nbpiv As Long 'Nombre d'items de pon pivot
Sheets("essai").Select
For Each pvi In ActiveSheet.PivotTables("TCD").PivotFields("Label_sho").PivotItems
   If pvi.Value <> "(blank)" Then Nbpiv = Nbpiv + Abs(pvi.Visible)
Next pvi
MsgBox Nbpiv
End Sub

Résultat : 3

P.S. : cela n'empêche pas d'appliquer les excelents conseils de Chris.

A+ à tous
 

chris

XLDnaute Barbatruc
Re : Calcul nb items cochés dans un pivot d'un TCD

Re

Il faut changer la source du TCD aussi pour qu'il prenne le tableau et non la plage : relis le dernier paragraphe de mon précédent post.

Edit : coucou Hasco
 

Colombine

XLDnaute Junior
Re : Calcul nb items cochés dans un pivot d'un TCD

Merci beaucoup HASCO , ça marche super et je peux garder mes connexions aux données externes !!

Merci aussi chris, je garde cette façon de faire que je ne connaissais pas mais dans mon cas de figure le fait de passer par un tableau ne correspond pas exactement à ce que je recherchais.

Vous êtes vraiment d'une super aide, merci à vous tous.

Bonne soirée.
Colombine
 

Discussions similaires

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