J'ai un classeur Excel dans lequel je génère un tableau croisé dynamique par VBA à partir d'un tableau croisé dynamique existant. Ce graphique est créé en tant que nouvelle feuille de calcul.
Jusqu'à présent, le résultat est comme prévu. Mais lorsque je vais au graphique généré et que je veux changer quelque chose dans l'éditeur de champ, j'obtiens un message d'erreur:
Le rapport de tableau croisé dynamique a été enregistré sans les données source sous-jacentes. Sélectionnez "Actualiser les données" pour actualiser le rapport. (Traduit de l'allemand)
Après cela, je peux travailler dans l'éditeur de champs. Après une longue session de débogage angoissante, j'ai compris que mon code se comportait différemment lorsque je le parcourais avec le débogueur.
Je l'ai essayé avec Excel 2010 et 2013. Les deux versions montrent le même comportement.
Charts.Add chartSheetName = dqSource & "_PIVOT_CHART" With ActiveChart .Location where:=xlLocationAsNewSheet , Name:=chartSheetName .HasTitle = True .ChartTitle.Select .ChartTitle.Text = "My chart title" .Refresh ' <-- This is the suspect End With
3 Réponses :
Vous pouvez essayer la ligne de code:
Do Events
après cela pour lancer le code en temps réel.
Malheureusement, ce n’était pas la solution. Cela n'a eu aucun effet sur mon classeur.
qu'en est-il d'ActiveWorkbook.RefreshAll sur une nouvelle ligne au lieu de la ligne avec activechart.refresh
Le Graphique croisé dynamique
dépend d'un Tableau croisé dynamique
.
Je suggère d'actualiser le PivotCache
de ce tableau croisé dynamique à la place:
votre problème est dû au fait que vous devez lier les données sous-jacentes dans la feuille de calcul. étant le positionnement dans la cellule du tableau croisé dynamique, Aller aux options du tableau croisé dynamique => onglet données => cocher l'option "enregistrer les données source avec le fichier". Cette option rend Excel pour enregistrer le pivotcache avec la feuille de calcul.
J'espère que cela vous aidera. Meilleures salutations de Colombie.
Malheureusement, cela n'a pas aidé. Je dois actualiser le classeur dans l'événement Workbook_Open ().
Y a-t-il une feuille dans le classeur qui est protégée?
Non, pas de draps protégés ou autres trucs de fantaisie.