Comment compter le nombre de lignes dans un tableau croisé dynamique ?

  • Initiateur de la discussion Initiateur de la discussion robby98800
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

robby98800

XLDnaute Nouveau
Bonjour,

Je voudrais compter le nombre de ligne dans un tableau croisé dynamique. J'ai trouvé sur FAQ MS-Excel, une macro qui permettrait de le faire mais ça ne fonctionne pas. Voici le code :
Code :

Code:
Sub compterNombreLignesTCD()
        Dim Pvt As PivotTable
        'Définit le TCD   
        Set Pvt = Worksheets("Feuil1" ).PivotTables("Tableau croisé dynamique1" )
       
        'TableRange1:
        'plage contenant l'intégralité du rapport de tableau croisé dynamique,
        'à l'exclusion des champs de page.
        MsgBox Pvt.TableRange1.Rows.Count
       
        'TableRange2 :
        'plage contenant l'intégralité du rapport de tableau croisé dynamique,
        'y compris les champs de page.
        MsgBox Pvt.TableRange2.Rows.Count
    End Sub


Je pense que le problème vient du fait que mes données sources ne sont pas la "Feuil1" en entière mais seulement 3 colonnes.

Merci de votre aide !!
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Bonjour,

une macro qui permettrait de le faire mais ça ne fonctionne pas.
cela veut dire quoi ? message d'erreur ou pas le résultat attendu ? As tu adapté le nom des objets ? que cherches tu réellement à faire ? peut être nous en dire un peu plus....

bonne journée
@+
 
Dernière édition:
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Bonjour,
Pour ce que je connais des TCD et du VBA : tu dois indiquer la feuille ou se trouve le TCD et non celle ou se trouvent les données
Cordialement
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Quand j'exécute la macro, il y a une erreur d'exécution 1004. J'ai adapté le nom des objets (en fait j'ai mis le nom des feuilles qui intéressées à la place de "Feuil1" et "Tableau croisé dynamique 1") mais comme je disais, le problème est que je ne sais pas si je dois mettre le nom de la feuille en entier ou juste une plage pour mes données source.

Je vous envoie en pièce jointe le sujet de mon travail.
- L'adresse est le numéro de la machine
- Le libellé est le nom de l'erreur
- La colonne nommé "colonne" me permet de ne prendre que les apparitions d'erreur (APP) pour mon calcul d'occurence de chaque erreur dans le tableau croisé dynamique.

Je classe des erreurs par machine et comme le nombre d'erreur change chaque semaine, je voudrais connaitre le nombre de ligne dans le tableau croisé dynamique.

J'espère que j'ai été assez clair !

Merci !!
 

Pièces jointes

Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Re,

toujours pas de tcd dispo dans ton fichier.... comprends pas pourquoi une macro.... j'ai refais un tcd... A voir si cela peut te convenir... pas sûr....
 

Pièces jointes

Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Bonjour,
J'ai collé le texte de ta macro et j'ai juste changé feuil1 pour tcd puisque c'est la feuille qui contient le tcd.
J'ai pas de message d'erreur mais le nb de lignes affiché n'est pas correct.
A toi de voir
 

Pièces jointes

Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Salut
si la premiere ligne de ton tableau est fixe et qu'il commence en A1 par exemple utilise ce code:

NumLigne = Worksheets("feuill1").Range("A1").End(xlDown).Row

feuill1 correspond au nom de l'onglet ou est present le tableau. A modifier si l'onglet a été renommé.

Cordialement
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

En fait si, le nombre de ligne est correct car il comptabilise aussi les entêtes ! Je voudrais aussi savoir comment est ce que je peux faire pour que le résultat que donne la macro se mette dans une cellule de tel sorte que je puisse m'en servir par la suite.

Merci et dsl pour ces questions de débutant !
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

re,
ben franchement, écrire un macro pour mettre le résultat dans une cellule et t'en resservir après !!! pourquoi ne pas faire une formule ??

Code:
Sub compterNombreLignesTCD()
        Dim Pvt As PivotTable
        'Définit le TCD
        Set Pvt = Worksheets("tcd").PivotTables("Tableau croisé dynamique1")
       
        'TableRange1:
        'plage contenant l'intégralité du rapport de tableau croisé dynamique,
        'à l'exclusion des champs de page.
        range(A1)= Pvt.TableRange1.Rows.Count - 3
end sub
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Bonjour @ tous,
J'ai pas tout lu, le nombre de ligne en TCD correspond @ :
Code:
=SOMME(SI(Tableau1[Libelle]<>"";1/NB.SI(Tableau1[Libelle];Tableau1[Libelle])))
@ valider par Ctrl+Maj+Entree

ou bien si "Tableau1[Libelle]" ne contient ps de cellules vides :
Code:
=SOMMEPROD(1/NB.SI(Tableau1[Libelle];Tableau1[Libelle]))
@ valider par simple Entrée

les 2 formules renvoient 8

Amicalement
 
Re : Comment compter le nombre de lignes dans un tableau croisé dynamique ?

Oui merci, ça marche parfaitement j'ai utilisé la seconde formule car je n'ai pas de cellules vides dans le TCD.
Connais une autre formule pour calculer le nombre de colonne cette fois-ci ?

Encore merci!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour