Accéder au contenu principal

Comment actualiser un tableau croisé dynamique automatiquement en VBA

Nous avons réaliser un article sur les tableaux croisés dynamiques (TCD) qui s’adresse aux débutants.

Vous pouvez le consulter grâce à ce lien :

Comment utiliser un tableau croisé dynamique

Pour les moins débutants, voici une petite astuce en VBA pour actualiser un tableau croisé dynamique automatiquement dès que vous modifiez une donnée brute.

Normalement, vous faites un clique droit sur votre tableau et vous faites « Actualiser ». Cette opération peut devenir longue et pénible surtout si vous modifiez souvent vos données.

EXEMPLE

Suivant le TCD ci-dessous

i3.png

Que nous avons créé à partir des données ci-dessous

i2.png

Nous récupérons sur la case C9 le résultat du TCD (Feuil2!B12)

Note: Nous changerons le nom des onglets plus tard

Nous voyons que si on modifie l’age de Ludovic par exemple, le total des âges ne sera pas mis à jour automatiquement.

i5.png

Le total reste à 212!

Il faudra faire clique droit sur le TCD pour la mise à jour.

i4.png

Bon ok cela fonctionne très bien en faisant comme cela.

De façon automatique cela vous intéresse? Oui sinon vous ne seriez pas là

MISE EN PLACE

Retourner sur votre TCD et faites clique droit dessus

i6.png

Cliquer sur « Options du tableau croisé dynamique… »

Nous allons lui donner un Nom qui sera utilisé dans notre code VBA
► nous le nommons « TCD »

i7.png

Cliquer sur « OK »

Pour bien comprendre le code VBA, nous allons aussi renommer les onglets de notre classeur.

Pour les données ► Onglet « Données »

Pour le TCD ► Onglet « Tableau »

i8.png

CODE VBA

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Application.EnableEvents = False
Sheets("Tableau").PivotTables("TCD").RefreshTable
Application.EnableEvents = True

End Sub

Voici ce que cela doit donner dans votre éditeur VBA

Noter bien que nous mettons les ligne de codes dans la Feuil2(Données)

Cela ne fonctionnera pas sinon!

i9.png

La ligne Sheets(« Tableau »).PivotTables(« TCD »).RefreshTable est importante.

Elle donne l’endroit ou se trouve votre TCD et son Nom.

Sheets(« Tableau ») ► Pour le nom de l’onglet

PivotTables(« TCD ») ► Pour le nom du TCD que vous lui avez donné précédement.

RESULTAT

Maintenant à chaque fois que vous allez changer une donnée brute, votre TCD sera mise à jour automatiquement sans autres interventions de votre part.

i10.png

Bien sur cela s’appliquera à toutes vos données présentent sur le TCD (pas seulement l’âge de Ludovic!)

ATTENTION : N’oublier pas d’enregistrer votre fichier avec prise en charge des macros

Il n’est pas rare que si vous faites beaucoup de modifications sur votre fichier cela ne fonctionne pas correctement. Dans ce cas corriger votre code, sauvegarder votre travail et relancer le fichier.

Catégories

Intermédiaire, VBA

4 commentaires sur “Comment actualiser un tableau croisé dynamique automatiquement en VBA Laisser un commentaire

  1. I have noticed you don’t monetize excelastuces.fr, don’t waste your
    traffic, you can earn additional cash every month with new monetization method.

    This is the best adsense alternative for any type of website (they approve all sites), for
    more details simply search in gooogle: murgrabia’s tools

    J'aime

    • Thanks for your feedback
      currently we just want to share our tips
      The monetization will happen because it will be used to strengthen our site and allow us to stay as long as possible on the net.
      Thank you again for your comment. However, we are a French site thanks for making a small effort to comment in French;)

      Merci pour votre retour
      actuellement nous souhaitons juste partager nos astuces
      La monétisation arrivera car il sera utilisé pour renforcer notre site et nous permettre de rester le plus longtemps possible sur le net.
      Encore merci pour votre commentaire. Toutefois, nous sommes un site francophone merci de faire un petit effort pour commenter en français 😉

      J'aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :