VBA pour rafraîchir un tableau croisé dynamique dans Excel (5 exemples)

  • Partage Ça
Hugh West

Mise en œuvre de Macro VBA est la méthode la plus efficace, la plus rapide et la plus sûre pour exécuter n'importe quelle opération dans Excel. Dans cet article, nous allons vous montrer comment rafraîchir le tableau croisé dynamique dans Excel à l'aide de VBA.

Télécharger le cahier d'exercices

Vous pouvez télécharger le classeur Excel d'entraînement gratuit à partir d'ici.

Rafraîchir le tableau croisé dynamique avec VBA.xlsm

5 exemples pour rafraîchir un tableau croisé dynamique avec VBA dans Excel

Voici l'exemple de notre tableau croisé dynamique que nous utiliserons tout au long de l'article et qui vous montrera 5 exemples différents d'utilisation du tableau croisé dynamique. rafraîchissement des tableaux croisés dynamiques dans Excel avec VBA code.

1. VBA pour rafraîchir un tableau croisé dynamique dans Excel

Si vous voulez rafraîchir un seul tableau croisé dynamique dans votre feuille de calcul Excel,

  • Appuyez sur Alt + F11 sur votre clavier ou allez dans l'onglet Développeur -> ; Visual Basic pour ouvrir Éditeur Visual Basic .

  • Dans la fenêtre pop-up du code, dans la barre de menu, cliquez sur Insertion -> ; Module .

  • Copiez le code suivant et collez-le dans la fenêtre de code.
 Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub 

Votre code est maintenant prêt à être exécuté.

Ici, Tableau croisé dynamique1 est le nom de notre tableau croisé dynamique. Vous écrivez le nom de votre tableau croisé dynamique.

  • Appuyez sur F5 sur votre clavier ou dans la barre de menu, sélectionnez Run -> ; Run Sub/UserForm Vous pouvez également cliquer sur le bouton petite icône Play dans la barre de sous-menu pour exécuter la macro.

Cela permettra rafraîchir le tableau croisé dynamique dans votre feuille de calcul Excel existante.

Lire la suite : Le tableau croisé dynamique ne se rafraîchit pas (5 problèmes et solutions)

Macro pour rafraîchir tous les tableaux croisés dynamiques de la feuille de calcul active.

Pour rafraîchir tous les tableaux croisés dynamiques de la feuille de calcul active Suivez les étapes ci-dessous.

  • De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter la macro et tous les tableaux croisés dynamiques de votre feuille de calcul active seront actualisés.

Lire la suite : Comment rafraîchir tous les tableaux croisés dynamiques dans Excel

3. code VBA pour rafraîchir tous les tableaux croisés dynamiques dans plusieurs classeurs

Si vous voulez rafraîchir tous les tableaux croisés dynamiques dans plusieurs classeurs à la fois avec VBA alors les étapes sont :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter le code et tous les tableaux croisés dynamiques de tous vos classeurs Excel ouverts seront actualisés.

Souvenez-vous de pour garder tous les classeurs Ouvrir le site en exécutant ce code.

Lectures similaires

  • Comment modifier un tableau croisé dynamique dans Excel (5 méthodes)
  • Mise à jour de la plage du tableau croisé dynamique (5 méthodes appropriées)
  • Comment mettre automatiquement à jour un tableau croisé dynamique lorsque les données sources changent ?

4. rafraîchir le cache du tableau croisé dynamique avec VBA dans Excel

Si vous avez plusieurs tableaux croisés dynamiques dans votre classeur qui utilisent les mêmes données, vous pouvez rafraîchir uniquement le cache du tableau croisé dynamique Le rafraîchissement du cache vide automatiquement la mémoire cache de tous les tableaux croisés dynamiques utilisant la même connexion de données dans le cache.

Les étapes pour y parvenir sont les suivantes,

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter le code et toutes les mémoires cache du tableau croisé dynamique seront effacées.

Lire la suite : Comment rafraîchir automatiquement un tableau croisé dynamique sans VBA dans Excel (3 méthodes intelligentes)

5. rafraîchir automatiquement le tableau croisé dynamique en modifiant les données avec la macro VBA

Que se passe-t-il si vous disposez d'un tableau croisé dynamique contenant une grande quantité de données et que vous souhaitez simplement mettre à jour quelques données sans toucher à l'ensemble du tableau ? rafraîchir automatiquement le tableau croisé dynamique tout en mettant à jour les données avec VBA .

  • Ouvrir Éditeur Visual Basic de la Développeur.
  • Sur le côté gauche de l'éditeur, il y aurait un bouton Explorateur de projets qui contient tous les noms de la feuille de travail.
  • Sur Explorateur de projets , double-cliquez sur le nom de la feuille qui contient le tableau croisé dynamique.

  • La fenêtre de code apparaîtra où nous allons créer une macro d'événement. Choisissez Feuille de travail de la Objet dans le menu déroulant situé à gauche du module de code. Feuille de calcul_SélectionChange au module, nous n'en avons en fait pas besoin et nous supprimerons ce morceau de code plus tard.
  • Cliquez ensuite sur le Procédure et sélectionnez Changement Cela ajoute un nouvel événement au sommet du module de code appelé Feuille de travail_Change Nous allons écrire notre code ici de la manière suivante supprimer le code généré par le Feuille de calcul_SélectionChange

  • Maintenant, copiez le code suivant et collez-le dans le champ Feuille de travail_Change
 Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub 

Votre code est maintenant prêt à être exécuté.

Ici, PivotTbl est le nom de la feuille de calcul dans notre classeur Excel et Tableau croisé dynamique1 Vous écrivez le nom de votre feuille de calcul et de votre tableau croisé dynamique.

  • Désormais, chaque fois que vous modifiez les données du tableau de données original de votre feuille de calcul, les données du tableau croisé dynamique sont automatiquement mises à jour.

Lire la suite : Comment rafraîchir automatiquement un tableau croisé dynamique dans Excel ?

Conclusion

Cet article vous a montré comment rafraîchir le tableau croisé dynamique dans Excel avec VBA J'espère que cet article vous a été très utile. N'hésitez pas à me demander si vous avez des questions sur le sujet.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.