Microsoft 365 Comment identifier le TCD qui chevauche un autre ?

Xwprft

XLDnaute Junior
Bonjour,

J'ai un fichier bourré de TCD (environ 50 pointant sur une base = un onglet du fichier, plus environ 10 autres pointant sur une deuxième base = un autre onglet du fichier)
Comme j'ai fréquemment des TCD qui se chevauchent (message : impossible d'afficher le rapport de tableau croisé dynamique sur un rapport déjà existant) j'avais créé une macro pour analyser les TCD du fichier et m'indiquer celui qui était en faute :
'check if Pivot Table is displayed without error
texte_erreur = "ok"
check_display_TCD = .GetPivotData(.DataPivotField.PivotItems(1))
If (texte_erreur <> "ok") Then
Cells(n_line + n_sheet + sheet_with_TCD, n_colonne + 1 + i).Interior.Color = RGB(255, 150, 0) 'orange
'cette ligne passe en orange une cellule de la page où j'exécute la macro d'analyse des TCD du fichier
End If
traiter_erreur: 'traitement de l'erreur, utilisé pour diagnostiquer un TCD non complètement affiché
texte_erreur = Err.Description
Resume Next
Mais depuis quelque temps (1 mois, 2 mois ?) cette macro ne marche plus. J'ai le message "Impossible d'afficher..." et aucun des tableaux n'est trouvé en erreur.
De plus auparavant quand il y avait ce message, les TCD étaient quand même rafraichis, le TCD en faute était affiché jusqu'à la limite de chevauchement avec le suivant. Visuellement il était donc facile de repérer le fautif.
Maintenant, quand le message "Impossible d'afficher...." arrive, aucun des TCD n'est rafraichi.


J'ai trouvé un endroit sur internet où un utilisateur présente un problème très similaire. Mais il n'a obtenu aucune réponse.

Je suis dans environnement 0ffice 365 ProPlus, Excel version 1808.

Est-ce que qq un a constaté le même phénomène : les TCD ne sont plus rafraichis quand il y a chevauchement d'un seul ?
Est-ce qu'il y a un moyen de forcer le rafraichissement ?

Est-ce que vous avez une autre idée pour tester si un TCD est en erreur ou non ?

Merci d'avance pour votre support.
 

Amilo

XLDnaute Accro
Bonjour Xwprft,
J'ai retrouvé le code qui se trouve sur ce site,
Pas certain que cela résout le problème car d'après ce que j'ai compris cela n'a pas fonctionné pour certaines personnes
Peut-être une petite adaptation à effectuer….en tout cas je n'ai pas réussi au résultat escompté sur un fichier test.
Bonne soirée
 

Xwprft

XLDnaute Junior
Rebonsoir Amilo,
Donc le code que tu m'as indiqué, utilise une autre méthode pour diagnostiquer un chevauchement.
Il regarde dans la zone constituée par la portion de colonne immédiatement à droite du TCD et la portion de ligne immédiatement sous le TCD, si il y a d'autres objets de la feuille.
Mais cela ne peut marcher que si le TCD a été actualisé au moins en partie, jusqu'à aller à la limite du chevauchement, donc sans laisser de cellule vide entre le TCD et l'objet "chevauché".

En fait pourquoi mon code ne marche plus ? c'est parce que le comportement de l'actualisation des TCD a changé.
Avant (avant quoi ?...) : le TCD était actualisé, même en cas d'erreur, jusqu'à la limite de l'objet "chevauché". L'affichage du TCD était tronqué.
Maintenant : comme une erreur est diagnostiquée, l'actualisation de tous les TCD liés est purement et simplement avortée. Elle n'a pas lieu. L'affichage du TCD reste complet et cohérent, mais il n'est pas mis à jour.

Donc en fait, la question de fond n'est pas "qu'est-ce qui ne marche pas dans le code ?", mais "pourquoi le process d'actualisation des TCD a changé ?".
J'ai cherché des options d'Excel liées au fonctionnement des TCD, mais je n'ai rien identifié en lien avec ce problème.

Je vais continuer à chercher...:mad:
Merci pour ton aide.
Je reviendrai, dire ce que j'ai trouvé :eek:
 

Amilo

XLDnaute Accro
Bonsoir Xwprft,

Merci pour ce retour et ce complément d'informations,
Je ne me souvenais plus d'un changement de comportement dans l'actualisation des TCD mais effectivement maintenant que vous en parlez, il me semble que j'ai certainement rencontré ou lu un jour de l'actualisation tronquée de TCD suite à chevauchement.

Personnellement, je n'ai jamais eu à créer un grand nombre de TCD dans une même feuille et sinon je prendrais le soin de les déplacer pour les éviter.
C'est toujours bon à savoir si vous trouvez quelque chose…

Bonne soirée
 

Discussions similaires

M
Réponses
3
Affichages
2 K