VBA - Actualiser le tableau croisé dynamique lorsque les données changent

Ce didacticiel montrera comment actualiser un tableau croisé dynamique lorsque les données changent à l'aide de VBA.

Les tableaux croisés dynamiques sont un outil de données exceptionnellement puissant d'Excel. Les tableaux croisés dynamiques nous permettent d'analyser et d'interpréter de grandes quantités de données en regroupant et en résumant les champs et les lignes.

Lorsque nous créons un tableau croisé dynamique, les données sont stockées dans ce qu'on appelle un cache de tableau croisé dynamique. Les données sont donc stockées dans la mémoire cache du PC ce qui accélère le tableau croisé dynamique.

Si nous mettons à jour les données sur lesquelles repose le tableau croisé dynamique, le tableau croisé dynamique lui-même ne sera pas automatiquement mis à jour. Nous aurions besoin de cliquer sur le bouton Actualiser tout dans l'onglet Données du ruban pour actualiser le tableau croisé dynamique.

Actualisation du tableau croisé dynamique en VBA

Lorsque les données changent, nous pouvons écrire une macro dans le Evénement Worksheet_Change pour mettre à jour le tableau croisé dynamique. Pour accéder à l'événement de modification de la feuille de calcul, nous devons accéder à Visual Basic Editor dans Excel (VBE).

presse Alt+F11 pour accéder au VBE ou dans le Ruban, sélectionnez Développeur > Visual Basic.

Remarque : si vous ne voyez pas le ruban développeur, vous devrez l'activer.

Dans le Explorateur de projets, sélectionnez la feuille qui contient le tableau croisé dynamique.

Dans le Objet liste déroulante, sélectionnez Feuille de travail. Cela ajoutera automatiquement un événement pour Selection_Change.

Dans le Procédure liste déroulante, sélectionnez Changer.

UNE Changer L'événement sera ajouté au module VBA contenu dans la feuille.

REMARQUE: Nous pouvons supprimer le Worksheet_SelectionChange événement car il n'est pas obligatoire.

Au sein du Feuille de travail_Change événement, tapez le code suivant :

1 ActiveSheet.PivotTables("PivotTable1").RefreshTable

Revenez à la feuille Excel et modifiez une valeur dans le tableau de données. Les données du tableau croisé dynamique seront alors automatiquement mises à jour.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave