Comment filtrer un tableau croisé dynamique en fonction d'une valeur de cellule spécifique dans Excel ?
Le filtrage des données dans un Tableau Croisé Dynamique se fait généralement en sélectionnant des éléments dans une liste déroulante. Cependant, il peut y avoir des situations où vous souhaitez que le Tableau Croisé Dynamique se filtre dynamiquement en fonction de la valeur d'une cellule spécifique. Ce tutoriel propose une solution VBA simple pour automatiser ce processus, facilitant ainsi la gestion et l'analyse efficace de vos données.
Filtrer un Tableau Croisé Dynamique en fonction d'une valeur de cellule spécifique avec du code VBA
Filtrer un Tableau Croisé Dynamique en fonction d'une valeur de cellule spécifique avec du code VBA
Le code VBA suivant peut vous aider à filtrer un Tableau Croisé Dynamique dynamiquement en fonction d'une valeur de cellule spécifique dans Excel. Veuillez procéder comme suit.
1. Veuillez entrer une valeur sur laquelle vous filtrerez le Tableau Croisé Dynamique dans une cellule à l'avance (ici, je sélectionne la cellule H6).
2. Ouvrez la feuille de calcul contenant le Tableau Croisé Dynamique que vous filtrerez par valeur de cellule. Ensuite, faites un clic droit sur l'onglet de la feuille et sélectionnez Affichage Code dans le menu contextuel. Voir capture d'écran :
3. Dans la fenêtre Microsoft Visual Basic for Applications qui s'ouvre, copiez le code VBA ci-dessous dans la fenêtre Code.
Code VBA : Filtrer un Tableau Croisé Dynamique en fonction de la valeur d'une cellule
Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
On Error Resume Next
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True
End Sub
Remarques : Dans le code,
4. Appuyez sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic for Applications.
Le Tableau Croisé Dynamique filtrera désormais dynamiquement en fonction de la valeur dans la cellule H6, comme le montre la capture d'écran ci-dessous :
Vous pouvez mettre à jour la valeur de la cellule pour appliquer un filtre différent si nécessaire.
Remarque : Les valeurs que vous saisissez dans la cellule H6 doivent correspondre exactement aux valeurs dans la liste déroulante Catégorie du Tableau Croisé Dynamique.
Articles connexes :
- Comment combiner plusieurs feuilles en un tableau croisé dynamique dans Excel ?
- Comment créer un Tableau Croisé Dynamique à partir d'un fichier texte dans Excel ?
- Comment lier un filtre de Tableau Croisé Dynamique à une cellule spécifique dans Excel ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !