Macro VBA – Diagnostiquer les tableaux croisés dynamiques d’un classeur Excel

diagnostic-tcd
(Last Updated On: 13 mars 2019)

Avez-vous déjà eu ce message d’erreur lorsque vous tentez de mettre à jour des tableaux croisés dynamiques ?

Diagnostiquer un problème de chevauchement entre plusieurs rapports de tableaux croisés dynamiques

“Impossible d’afficher le rapport de tableau croisé dynamique sur un rapport existant”

Oui, ce message. Encore que si vous n’avez que deux TCD dans votre classeur, il est facile d’identifier les coupables qui jouent des coudes et veulent prendre la place de l’autre…

Mais, l’autre jour je me plongeais dans le fichier Excel d’un collègue, et, en tentant d’actualiser les données, voilà qu’Excel m’informe gentiment avec le message qu’il n’est pas possible d’actualiser mon TCD car celui-ci risque de prendre la place de son camarade à côté, ce qui n’est pas permis.

Mais de quel TCD s’agit-il ?  Là est le problème lorsque que votre classeur Excel contient des dizaines de TCD dans tous les sens 😆

Mon conseil étant au passage de ne pas juxtaposer plusieurs TCD dans une feuille si vous savez que les données sont mises à jour régulièrement.

Bon, ce n’est pas bien grave en soi, mais cela peut demander du temps d’aller chercher chaque TCD et tenter de l’actualiser pour identifier la source du problème. Y-a-t-il un moyen d’éviter ce travail de recherche fastidieux ?

Une solution est d’automatiser cette tâche de recherche, il vous faut donc pour cela un utilitaire tel que celui que je vous propose aujourd’hui dans cet article pour lister tous les tableaux croisés dynamiques contenus dans un fichier Excel, et obtenir ainsi des informations sur le risque de chevauchement avec d’autres TCD, ou bien l’origine de la source de données, le nombre de segments (ou filtres) actifs sur le TCD, etc.

Diagnostiquer un problème de référence de source non valide

“Référence non valide.”

“La référence à la source de données n’est pas valide.”

“Le nom du champ de tableau croisé dynamique n’est pas valide. Pour créer un rapport de tableau croisé dynamique, vous devez utiliser des données sous forme de liste avec des étiquettes de colonnes. Si vous changez le nom d’un champ de tableau croisé dynamique, vous devez taper un nouveau nom pour le champ.”

Un autre problème courant avec les tableaux croisés dynamiques concerne les sources non valides.

Cela peut arriver lorsqu’on cherche à actualiser un TCD et que la source initiale n’existe plus par exemple. Très probablement, la raison de l’erreur est l’une ou plusieurs des suivantes :

  • Le nom du fichier Excel contient les caractères crochets “[” ou “]”
  • Le fichier provient d’un e-mail ou d’internet et n’est pas enregistré sur le disque dur local
  • La source de données du tableau croisé dynamique fait référence à une plage inexistante
  • La source de données fait référence à une plage nommée avec une référence non valide.

Comment la macro peut vous aider à trouver l’origine du problème ?

L’utilitaire liste pour chaque TCD du classeur Excel les informations comme le type de données et l’adresse de la plage source de données. Si dans la liste la cellule du type de source ou l’emplacement de la source est vide, c’est que Excel ne trouve pas la source et que c’est donc ce TCD qui pose problème.

Macro VBA pour lister les tableaux croisés dynamiques

Le code proposé vérifie chaque feuille de calcul et répertorie les informations suivantes pour chaque tableau croisé dynamique du fichier Excel :

  • Nom de la feuille de calcul
  • Nombre de tableaux croisés dynamiques sur la feuille
  • Nom du tableau croisé dynamique
  • Emplacement du tableau croisé dynamique
  • Autres tableaux croisés dynamiques dans les mêmes lignes – peuvent entraîner un chevauchement
  • Autres tableaux croisés dynamiques dans les mêmes colonnes – peuvent entraîner un chevauchement
  • Type de source de données (Plage fixe, plage nommée ou objet Tableau)
  • Nom de la plage
  • Adresse de la plage
  • Si c’est une source provenant d’un autre classeur (Externe)

De plus, les informations suivantes sont affichées :

  • Nombre d’enregistrements
  • Nombre de colonnes
  • Nombre de cellules d’en-tête ne contenant pas de valeurs
  • Réparer en-tête : un X indique qu’il faut renseigner un ou des en-têtes vides
  • Date d’actualisation la plus récente du TCD => très utile pour comparer des versions du fichier différentes
  • Nombre de segments connectés au TCD

INSTRUCTIONS

  1. Téléchargez le fichier Excel “Diagnostic TCD.xlsm” via le lien ci-dessous.
  2. Ouvrez vos fichiers Excel pour lesquels vous souhaitez établir la liste des TCD
  3. Cliquez sur le bouton diagnostic TCD
  4. Une nouvelle feuille est créée listant tous les TCD du classeur Excel choisi
  5. Dans la colonne commentaires, regardez s’il y a un risque de chevauchement entre les TCD ou d’autres problèmes potentiels identifiés.

TÉLÉCHARGER LE FICHIER

Télécharger le classeur Excel pour ce tutoriel. Seuls votre adresse e-mail et nom vous seront demandés dans la prochaine étape. Vous recevrez le lien de téléchargement par e-mail.

Dites-moi en commentaire si vous avez des idées d’amélioration pour cette macro, ou si vous rencontrez d’autres problèmes avec les tableaux croisés dynamiques que vous aimeriez résoudre… MERCI !


J'aimerai avoir votre avis. Participez à mon sondage lecteurs !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *