Table des matières
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.