Microsoft 365 Bouton réinitialisation TCD

Matteo9101

XLDnaute Nouveau
Bonjour,
Je sollicite votre aide car j'aimerais créer un bouton et affecter dedans une macro qui me permettrait de réinitialiser les critères d'un Tableau Croisé dynamique.
J'aimerais qu'après avoir utiliser les critères, je clique sur le bouton en question et qu'il s'affiche "Tous" à coté du nom des critères, comme sur la photo ci-jointe.

Capture d’écran (39)_LI.jpg

Merci de votre aide.
 
Solution
RE JM27

Moi j'ai ce bouton dans ma barre de lancement rapide donc deux clics et si on a plusieurs TCD c'est bien plus pratique qu'un bouton par TCD

Au pire tu codes
VB:
ActiveSheet.PivotTables("Tableau croisé dynamique1").ClearAllFilters
et non une boucle...
et si un seul TCD par onglet on peut encore simplifier
Code:
ActiveSheet.PivotTables(1).ClearAllFilters

JM27

XLDnaute Barbatruc
Bonjour
en adaptant le nom de la feuille et celui du TCD

VB:
Sub Macro2()
    With Worksheets("TCDArchive").PivotTables("Tableau croisé dynamique1")
        For I = 1 To .PivotFields.Count
           If ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I).Orientation = xlPageField Then
                 ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I). _
                CurrentPage = "(All)"
           End If
        Next
    End With
End Sub
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Totalement inutile : se placer dans une cellule du TCD et utiliser le bouton Effacer de la zone Trier et Filtrer de l'onglet Données.

Bouton que l'on peut placer dans la barre de lancement rapide pour l'avoir à portée de clic à tout moment
 

Matteo9101

XLDnaute Nouveau
Bonjour
en adaptant me nom de la feuille et celui du TCD

VB:
Sub Macro2()
    With Worksheets("TCDArchive").PivotTables("Tableau croisé dynamique1")
        For I = 1 To .PivotFields.Count
           If ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I).Orientation = xlPageField Then
                 ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I). _
                CurrentPage = "(All)"
           End If
        Next
    End With
End Sub
Merci de votre réponse mais pourriez-vous me dire comment on voit le nom d'un TCD svp je n'arrive pas à trouver son nom.
 

Matteo9101

XLDnaute Nouveau
Bonjour

Totalement inutile : se placer dans une cellule du TCD et utiliser le bouton Effacer de la zone Trier et Filtrer de l'onglet Données.

Bouton que l'on peut placer dans la barre de lancement rapide pour l'avoir à portée de clic à tout moment
Je souhaiterais seulement avoir un bouton qui fait la même chose que ce bouton précisément.
C'est pour faciliter la tâche aux personnes n'ayant aucune connaissance d'Excel.
 

JM27

XLDnaute Barbatruc
bonjour
en mettant ceci dans le module de la feuille

Et en changeant bien entendu Le nom du TCD
En plus tu as l'actualisation automatique du TCD

VB:
Private Sub Worksheet_Activate()
   On Error Resume Next
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
            With ActiveSheet.PivotTables("Tableau croisé dynamique1")
                For I = 1 To .PivotFields.Count
                   If ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I).Orientation = xlPageField Then
                         ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(I). _
                        CurrentPage = "(All)"
                   End If
                Next
            End With
    On Error GoTo 0
End Sub
 

JM27

XLDnaute Barbatruc
Re
avec ta manip:
tu sélectionnes une cellule du TCD
Après tu sélectionnes Option dans outils de tableau croisé dynamiques
Après tu sélectionnes Effacer
et enfin effacer les filtres.

ou alors c'est une autre manip que je ne connais pas

Moi cela se fait automatiquement

mais on lui fais des propositions et c'est lui qui vois ce qui lui convient le mieux

Mais tu dois avoir raison

edit : j'ai vu dans le menu données .... c'est un peu plus rapide...
 
Dernière édition:

chris

XLDnaute Barbatruc
RE JM27

Moi j'ai ce bouton dans ma barre de lancement rapide donc deux clics et si on a plusieurs TCD c'est bien plus pratique qu'un bouton par TCD

Au pire tu codes
VB:
ActiveSheet.PivotTables("Tableau croisé dynamique1").ClearAllFilters
et non une boucle...
et si un seul TCD par onglet on peut encore simplifier
Code:
ActiveSheet.PivotTables(1).ClearAllFilters
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
245
Réponses
1
Affichages
251
Compte Supprimé 979
C
Réponses
5
Affichages
165

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33