Donc, je ne suis pas encore très informé quand il s'agit de VBA. J'ai une expérience avec Java, donc je comprends les concepts de structure derrière le encoding et je peux lire le code intermédiaire de base. Mais quand il s'agit de l'écrire moi-même, je suis toujours un 1.5 sur 10 en termes d'écriture VBA moi-même. Donc, toute aide serait grandement appréciée.
J'ai donc l'exemple suivant de tableau pivot (mon réel est d'environ 10 ans de données avec quelques autres colonnes):
Les points rouges et jaunes sont mes problèmes. Les colonnes avec des titres vierges ne représentent que quelques différences par rapport à la ligne précédente. Cependant, comme vous pouvez le voir, en utilisant cela laisse des espaces vides pour le premier mois de chaque année (ce sont les points jaunes). En outre, pour les lignes d'année, il ne calcule pas la% de différence par rapport à l'année précédente (les points rouges).
Donc, ce dont j'utilise est (probablement) un PivotTableUpdate ou PivotTableChangeSync (je ne comprend toujours pas la différence en fait) pour remplir datatables dans ces cellules avec les points rouge et jaune. Des pensées?
Modifier: Comme demandé, voici datatables alimentant le tableau pivot:
Pour le formatting, j'ai déplacé la moitié inférieure de la configuration et à droite pour l'intégrer à une seule image.
Sans VBA, vous pourriez essayer cette tentative, je pourrais l'étendre, mais pas aujourd'hui, ce pourrait être un moyen de résoudre ce problème sans VBA, mais il me manque quelque chose.
E2=SUMIFS(D:D,C:C,C2) F2=IFERROR(E2/E1;1)-1
Sur le tableau croisé dynamic, vous ajoutez NP et Test2 à la section des valeurs, vous pouvez utiliser Max ou Sum pour Test2 et cela ressemblera à ceci:
ATTENTION ici est une erreur, car la sum des différences n'ajoute pas, en regardant l'ANNÉE! Cependant, vous pouvez utiliser les formudatatables pour get les sums et les différences entre les années;)