Comment changer la source d'un tableau croisé dynamique Excel l'utilisation de VBA

Microsoft Excel est un tableur. Une caractéristique de ce programme est que vous pouvez utiliser ses feuilles de calcul pour stocker des données de manière similaire à la façon dont vous le feriez dans une base de données, puis le référencer dans des affichages graphiques dynamiques. Il existe deux types d'affichages que vous pouvez utiliser: tableaux croisés dynamiques et graphiques croisés dynamiques. Les tableaux croisés dynamiques peuvent être utilisées pour trier, filtrer et résumer vos données. La seule façon de changer la source de données utilisée par un tableau croisé dynamique une fois qu'il a été créé par le magicien est de mettre à jour à partir du code VBA dans le fond.

Instructions

  1. 1

    Créer un objet tableau croisé dynamique dans VBA de sorte que vous pouvez mettre à jour la source. Copiez le code ci-dessous et de le mettre dans votre macro ou fonction.

    Dim ptMyPivotTable Comme tableau croisé dynamique

  2. 2

    Connectez votre objet tableau croisé dynamique avec votre tableau croisé dynamique réelle. Copiez le code ci-dessous.




    Réglez ptMyPivotTable = ActiveSheet.PivotTables (1)

  3. 3

    Mettre à jour la propriété SourceData de votre objet tableau croisé dynamique pour les nouvelles valeurs. Vous pouvez le faire en copiant le code VBA fourni. Remplacez votre gamme de données souhaité à la place de "A1" dans l'exemple.

    ptMyPivotTable.SourceData = Range ("A1") .CurrentRegion.Address (True, True, xlR1C1, True)

    Pour référencer une plage sur une feuille différente, vous pouvez utiliser le code suivant.

    ptMyPivotTable.SourceData = Sheets ("mySheetName"). [A1] .CurrentRegion.Address (True, True, xlR1C1, True)

  4. 4



    Mettre à jour les données réellement affichées dans votre tableau croisé dynamique en utilisant la commande VBA ci-dessous.

    ptMyPivotTable.RefreshTable

  5. 5

    Libérer les ressources que vous avez utilisé dans votre objet tableau croisé dynamique en le définissant égale à Nothing.

    Réglez ptMyPivotTable = Nothing

Conseils & Avertissements

  • Vous pouvez avoir les données de votre tableau croisé dynamique actualiser chaque fois que les modifications de données réelles. Pour ce faire vient de mettre votre feuille de calcul pour calculer automatiquement et ajouter la commande RefreshTable à la fonction Worksheet_Calculate. Voir le lien dans la section Ressources pour plus de détails.
» » » » Comment changer la source d'un tableau croisé dynamique Excel l'utilisation de VBA