Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment filtrer la table de tableau croisé dynamique en fonction d'une valeur de cellule spécifique dans Excel?

Normalement, nous filtrons les données dans un tableau croisé dynamique en vérifiant les valeurs de la liste déroulante en tant que capture d'écran gauche. Si vous souhaitez dynamiser un tableau croisé dynamique par filtrage, vous pouvez essayer de le filtrer en fonction de la valeur d'une cellule spécifique. La méthode VBA de cet article vous aidera à résoudre le problème.

Filtre Tableau croisé dynamique basé sur une valeur de cellule spécifique avec le code VBA


Sélectionnez facilement des lignes entières en fonction de la valeur de la cellule dans une colonne certian:

Le bouton Sélectionner des cellules spécifiques utilité de Kutools for Excel peut vous aider à sélectionner rapidement des lignes entières basées sur la valeur de la cellule dans une colonne certian dans Excel comme ci-dessous capture d'écran montré. Après avoir sélectionné toutes les lignes en fonction de la valeur de la cellule, vous pouvez les déplacer manuellement ou les copier dans un nouvel emplacement comme vous le souhaitez dans Excel.

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez l'essai gratuit maintenant!


Filtre Tableau croisé dynamique basé sur une valeur de cellule spécifique avec le code VBA

Le code VBA suivant peut vous aider à filtrer un tableau croisé dynamique basé sur une valeur de cellule spécifique dans Excel. S'il vous plaît faire comme suit.

1. Veuillez entrer une valeur que vous allez filtrer à l'avance dans une cellule (ici je sélectionne la cellule H6).

2. Ouvrez la feuille de calcul contient le tableau croisé dynamique que vous allez filtrer par valeur de cellule. Cliquez ensuite avec le bouton droit sur l'onglet de la feuille et sélectionnez Afficher le code dans le menu contextuel. Voir la capture d'écran:

3. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, copiez ci-dessous le code VBA dans la fenêtre Code.

Code VBA: Tableau de tableau croisé dynamique basé sur la valeur de la 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,

1) "Sheet1"Est le nom de la feuille de calcul.

2) "PivotTable2"Est le nom de la Table Pivot.

3) Le champ de filtrage dans le tableau croisé dynamique est appelé "Catégories".

4) La valeur que vous voulez filtrer le tableau croisé dynamique est placée dans la cellule H6.

Vous pouvez modifier les valeurs de variables ci-dessus selon vos besoins.v

4. appuie sur le autre + Q les clés pour fermer le Microsoft Visual Basic pour applications fenêtre.

Ensuite, le tableau croisé dynamique est filtré en fonction de la valeur de la cellule H6 comme ci-dessous:

Vous pouvez changer la valeur de la cellule à d'autres selon vos besoins.

Note: Les valeurs que vous tapez dans la cellule H6 doivent correspondre exactement aux valeurs de la liste déroulante Catégorie du tableau croisé dynamique.


Office Tab - Navigation par onglets, édition et gestion de classeurs dans Excel:

Office Tab propose une interface à onglets comme celle des navigateurs Web tels que Google Chrome, les nouvelles versions d'Internet Explorer et Firefox pour Microsoft Excel. Ce sera un outil qui vous permettra de gagner du temps et d’être irremplaçable dans votre travail. Voir ci-dessous la démo:

Cliquez pour l'essai gratuit de l'onglet Office!

Onglet Office pour Excel


Articles Liés:



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Justin · 7 months ago
    How would you do this with a report filter that has a hierarchy?

  • To post as a guest, your comment is unpublished.
    Daniel · 8 months ago
    Using this code (updated for my variables of course), when changing the field, the filter changes momentarily to the correct one, and then clears itself almost immediately. Trying to figure out why it's doing this (wondering if it has something to do with the ClearAllFilters at the end of the sub?)