Actualiser le tableau croisé dynamique dans VBA

Nous créons généralement un tableau croisé dynamique lorsque nous devons créer une sorte de graphiques ou de graphiques ou que nous devons effectuer une analyse par-dessus. En préparant le tableau croisé dynamique, nous pouvons obtenir une vue d'ensemble et une idée de ce qui se trouve réellement dans les données. C'est le meilleur moyen de trouver un moyen d'accéder aux données. Et chaque fois que nous apportons des modifications aux données, nous devons également actualiser le tableau croisé dynamique. Pour qu'il remplisse également le nombre de données mis à jour. Actualiser n'importe quel tableau croisé dynamique est très facile, mais que se passe-t-il si nous avons 10s de tableaux croisés dynamiques dans un seul fichier Excel que nous devons mettre à jour. Ainsi, au lieu d'actualiser tous les tableaux croisés dynamiques un par un, nous pouvons actualiser directement tous les tableaux croisés dynamiques en une seule fois à l'aide de VBA Refresh Pivot Table.

Comment utiliser Actualiser le tableau croisé dynamique dans Excel VBA?

Vous trouverez ci-dessous les différents exemples d'utilisation de l'actualisation du tableau croisé dynamique dans Excel à l'aide du code VBA.

Vous pouvez télécharger ce modèle Excel de tableau croisé dynamique de rafraîchissement VBA ici - Modèle Excel de tableau croisé dynamique de rafraîchissement VBA

Tableau croisé dynamique de rafraîchissement VBA - Exemple # 1

Pour actualiser le tableau croisé dynamique, nous devons d'abord créer un tableau croisé dynamique. Ci-dessous, nous avons une donnée de 1000 éléments de ligne par laquelle nous allons créer un tableau croisé dynamique.

Dans la capture d'écran ci-dessus, nous pouvons voir la dernière ligne à 1001 et ces données contiennent des informations client par rapport à la quantité qui leur a été vendue.

Allez maintenant dans l'onglet de menu Insérer et cliquez sur l'option Tableau croisé dynamique .

Nous obtiendrons une boîte de création de tableau croisé dynamique. À partir de là, sélectionnez d'abord la plage de tableaux que nous voulons inclure dans un tableau croisé dynamique. Sélectionnez ensuite n'importe quel emplacement dans la feuille actuelle pour le tableau croisé dynamique. Nous pouvons également choisir une nouvelle feuille de calcul.

Une fois terminé, cliquez sur OK.

Nous allons créer le tableau croisé dynamique. Faites maintenant glisser les champs requis dans différentes zones pour obtenir le tableau croisé dynamique réel. Ici, nous glissons le nom du client dans les RANGS et la quantité dans les COLONNES, comme indiqué ci-dessous.

Cela termine la création d'un tableau croisé dynamique. Mais nous devons mettre à jour le tableau croisé dynamique après avoir modifié quoi que ce soit dans les données, cela pourrait être fait en actualisant simplement l'option de la liste du menu déroulant Clic droit comme indiqué ci-dessous.

Mais le même processus peut également être automatisé via VBA. Pour cela, nous aurions besoin d'un module. Donc,

Étape 1: Accédez à l'onglet de menu Insérer et sélectionnez l'option Module dans la liste déroulante, comme indiqué ci-dessous.

Étape 2: Dans le module nouvellement ouvert, écrivez la sous-catégorie de VBA Pivot Refresh ou nous pouvons choisir n'importe quel nom selon notre choix.

Code:

 Sub Pivot_Refresh2 () End Sub 

Étape 3: Tout d'abord, définissez une variable comme PivotCache comme indiqué ci-dessous. PivotCache utilise le cache Pivot et non les données utilisées pour créer la table Pivot.

Code:

 Sub Pivot_Refresh2 () Dim Table As PivotCache End Sub 

Étape 4: Maintenant, nous allons utiliser la boucle For-Each . Ouvrez donc une boucle For-Each comme indiqué ci-dessous.

Code:

 Sub Pivot_Refresh2 () Dim Table en tant que PivotCache pour chaque sous-tableau suivant End Sub 

Étape 5: Maintenant à l'intérieur de la boucle For-End, nous allons écrire la condition où nous allons sélectionner la feuille de calcul actuellement ouverte qui a un tableau croisé dynamique avec PivotCache .

Code:

 Sub Pivot_Refresh2 () Dim Table As PivotCache for Each Table In ThisWorkbook.PivotCaches Next Table End Sub 

Étape 6: Maintenant, nous allons utiliser la commande Actualiser en lui affectant la table de variables définie.

Code:

 Sub Pivot_Refresh2 () Dim Table As PivotCache for Each Table In ThisWorkbook.PivotCaches Table.Refresh Next Table End Sub 

Étape 7: Ceci termine le code, compilez maintenant le code dans l'erreur de fichier en appuyant sur la touche fonctionnelle F8. Maintenant, pour tester si le code écrit ne fonctionne pas, nous avons changé la quantité de Customer14 en 69 .

Étape 8: exécutez maintenant le code. Nous verrons que le nombre total par rapport à Customer14 est mis à jour à 2183, qui est mis en surbrillance en couleur jaune.

Tableau croisé dynamique de rafraîchissement VBA - Exemple # 2

Il existe un autre moyen d'actualiser le tableau croisé dynamique via VBA. Avant d'aller de l'avant, nous pouvons envisager de changer le nom d'un tableau croisé dynamique ou nous pouvons également utiliser le nom par défaut. Essayons de donner un nouveau nom à la table Pivot. Pour cela, sélectionnez le tableau croisé dynamique et accédez à l'onglet du menu Analyser comme indiqué ci-dessous.

Dans la première section de PivotTable Name, nous pouvons voir, le nom par défaut comme PivotTable1 .

Maintenant, nous allons changer ce nom. Envisagez d'écrire le nouveau nom en tant que données client comme indiqué ci-dessous.

Étape 1: Après cela, ouvrez un nouveau module et écrivez la sous-catégorie de VBA Refresh comme indiqué ci-dessous.

Code:

 Sub Pivot_Refresh3 () End Sub 

Étape 2: définissez maintenant une variable comme tableau croisé dynamique . Ici, avec le tableau croisé dynamique, nous considérerons les données source complètes.

Code:

 Sub Pivot_Refresh3 () Dim Table As Sub PivotTable End Sub 

Étape 3: Utilisez maintenant Définir avec la variable définie et sélectionnez la feuille actuellement ouverte.

Code:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet. End Sub 

Étape 4: sélectionnez le nom de la table de tableau croisé dynamique que nous voulons actualiser ainsi que le type de données variable que nous avons utilisé comme tableau croisé dynamique .

Code:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Customer Data") End Sub 

Étape 5: Enfin, utilisez la variable avec la fonction RefreshTable pour l'exécuter.

Code:

 Sub Pivot_Refresh3 () Dim Table As PivotTable Set Table = ActiveSheet.PivotTables ("Customer Data") Table.RefreshTable End Sub 

Étape 6: Faisons quelques modifications supplémentaires dans les données, pour donner les vrais visuels du code appliqué.

Nous avons modifié le nombre de clients2 à 56 . Maintenant, si nous exécutons le code, dans le tableau croisé dynamique du nom du client, il devrait y avoir des changements dans la somme des quantités pour Customer2 .

Étape 7: Maintenant, allez dans la fenêtre VBA et compilez le code. Si aucune erreur n'a été trouvée, exécutez-la en cliquant sur le bouton de lecture qui se trouve sous la barre de menu, comme indiqué ci-dessous. On notera qu'une somme de quantité vendue pour le Client2 monte désormais à 1724 en faisant les modifications dans le tableau source.

Par cela, nous pouvons inclure plusieurs données source et créer un tableau croisé dynamique différent. Et l'automatisation de ces tableaux croisés dynamiques est également facile car il nous suffit d'inclure le nom et la feuille du tableau croisé dynamique à l'emplacement du tableau.

Avantages du tableau croisé dynamique VBA Refresh

  • Il faut très moins de temps pour actualiser le tableau croisé dynamique par le code VBA.
  • Il est très simple à mettre en œuvre.

Choses dont il faut se rappeler

  • Nous pouvons ajouter plusieurs tables de sources de données et les automatiser par le code VBA.
  • Pour voir les modifications apportées, gardez la fenêtre VBA et la feuille Excel parallèles l'une à l'autre.
  • Il est préférable de nommer chaque tableau croisé dynamique si vous traitez et gérez plusieurs sources de données et tableaux croisés dynamiques.
  • Le code avec le nom du tableau croisé dynamique est facile à comprendre, à suivre et à localiser.

Articles recommandés

Ceci est un guide de VBA Refresh Pivot Table. Nous expliquons ici comment utiliser le tableau croisé dynamique de rafraîchissement Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA FileSystemObject (FSO)
  2. Fonction Excel de sous-chaîne
  3. Longueur de chaîne VBA
  4. Formule ISNUMBER Excel

Catégorie: