XL 2010 Modification filtre sur plusieurs TCD en 1 fois

FrançoisFrançoisdu78

XLDnaute Nouveau
Bonjour

J'ai fait des TCD :) à partir de données présent dans un onglet.
Sur la même page, j'ai différents TCD qui affiche le même résultat (en tout cas sous la même forme), la différence se faisant sur les filtres.

Un des critères communs pour chaque TCD est le nom d'une personne.

A chaque fois, que je souhaite obtenir les résultats d'une personne, je dois changer le nom sur chaque TCD.

Ma question est simple (mais la réponse, je ne sais pas :rolleyes:) comment peut on changer 1 seule fois le nom de cette personne qui se répercutera surtout les TCD à la fois.

J'espère avoir été clair:p

Bonne journée à tous
 

FrançoisFrançoisdu78

XLDnaute Nouveau
Effectivement, c'est clair, avec le tuto qui va bien.
Alors j'ai cherché et j'ai trouvé... rien

En fait, je me suis aperçu que j ai pas Excel 2010 mais Excel 2007. o_O

Bon bah, je reformule ma question mais pour une version 2007.

Merci à François (joli prénom :)) de cette première réponse
Dommage car ça me paraissait pas mal comme outil

A bientôt
 

Gardien de phare

XLDnaute Accro
Bonsoir,
D'où l'intérêt de renseigner correctement la version Xl utilisée (tu indiques 2010). Sans les segments, on doit pouvoir le faire avec Vba, mais ce n'est pas moi qui t'aiderai sur Vba que je n'utilise pratiquement plus depuis des années.
Sinon, oui, Tableaux + TCD + Segments c'est certainement un des vrais plus de 2010 et suivants
 

gosselien

XLDnaute Barbatruc
Bonjour,
pas spécialiste des TCD en VBA, mais ceci semble fonctionner ;
à coller dans le code de la feuille (clic droit / "visualiser le code" et sauver le classeur en XLSM)

VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Pvt
Pvt = ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
      "Int Nom intervenant").CurrentPage

ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
      "Int Nom intervenant").CurrentPage = Pvt

ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
      "Int Nom intervenant").CurrentPage = Pvt
End Sub
 

chris

XLDnaute Barbatruc
Bonjour à tous

A placer dans le module de la feuille Agence
VB:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim Pvt
On Error GoTo Fin

Pvt = Target.PivotFields("Int Nom intervenant").CurrentPage
Application.EnableEvents = False
For Each TCD In PivotTables

    If TCD <> Target Then TCD.PivotFields("Int Nom intervenant").CurrentPage = Pvt
 
Next TCD
Fin: Application.EnableEvents = True
End Sub

RECHERCHEV dans les tableaux de droite pourrait être remplacé par LIREDONNEESTABCROISDYNAMIQUE
 

FrançoisFrançoisdu78

XLDnaute Nouveau
Hello les amis

Petit retour d'expérience car j'ai testé les codes et voici les résultats :
  1. Les 2 codes fonctionnent et ça c'est déjà bien :)
  2. Toutefois, le 2e est un poil plus malin. En effet, il se met en place dès qu'une modification se fait sur L'UN des TCD et se répercute sur tous les autres. Le 1er nous oblige à modifier uniquement le TCD du haut.
Au choix de chacun.

En tout cas, bravo aux 2 contributeurs !!!:):):)

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 008
dernier inscrit
Ichaka