Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/10/2011, 15h11   #1
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Par défaut Tableau croisé dynamique: utiliser une cellule pour définir le filtre

Bonjour,

Je travaille avec plusieurs TCD, chaque TBC possède un filtre sur le N° de client.
Si je veux produire un rapport pour le client N°536, je dois donc changer le filtre de tous mes TCD pour définir client 536.

Je voudrais savoir si il n'y a pas un moyen d'automatiser ce changement au lieu de le faire TCD par TCD.
Y aurait-il moyen d'entrer dans une cellule : 536 et que tous les TCD adoptent le filtre N° client 536 et changent en fonction?

J'espère que ma question est assez claire et je vous remercie d'avance pour l'aide que vous saurez m'apporter, ça me permettra de gagner pas mal de temps

Jenna
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 15h50   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Précise ta version d'Excel, il y a eu beaucoup de changement depuis XL2007 avec les TCD. D'autre part, où mettrais-tu le numéro du client à filtrer ? dans une cellule ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/10/2011, 16h37   #3
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
j'ai excel 2007.
En fait, le "must" serait de pouvoir taper le numéro du client dans une cellule du rapport, qui génèerrait les changements dans les TCD et donc dans tout le rapport lié aux TCD.
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 16h57   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
En supposant que le numéro de client soit en A1, copie cette macro dans le module de la feuille où la cellule A1 contient la valeur à filtrer :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    Dim Sh As Worksheet, Pt As PivotTable
    For Each Sh In Worksheets
        For Each Pt In Sh.PivotTables
            With Pt.PivotFields("Noms")
                .ClearAllFilters
                .CurrentPage = Target.Value
            End With
        Next Pt
    Next Sh
End Sub
La macro se déclenche lorsque tu changes la valeur de la cellule A1 de la feuille dans laquelle tu as mis la macro.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/11/2011, 19h10   #5
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Par défaut Error 1004 Unable to set the CurrentPage property of the PivotField class

Je viens d'avoir ce message d'erreur:

Citation:
Error 1004 Unable to set the CurrentPage property of the PivotField class
Qu'ai-je mal défini? en sachant que Current BIC8 est le nom source du filtre que je veux générer.

Code :
With Pt.PivotFields("Current BIC8")
Merci beaucoup
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 19h19   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie d'enregistrer la manip avec l'enregistreur de macros pour un TCD et poste ici le code généré.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/11/2011, 20h09   #7
Membre habitué
 
Philo
Inscription : février 2011
Messages : 80
Détails du profil
Informations personnelles :
Nom : Philo

Informations forums :
Inscription : février 2011
Messages : 80
Points : 117
Points : 117
Bonsoir

Tu peux peut etre aller voir le site de Debra, elle a fait de belle chose avec les tcd, je n'ai pas trouvé similaire sur le site.

http://www.contextures.com/excelfiles.html

ce fichier en particulier
Code :
1
2
3
4
5
6
7
PT0016 - Change Page Fields With Cell Dropdown
 -- Select an item from a data validation dropdown, 
and all pivot tables in the workbook show that 
selection in the page field. 
Excel 2002 and later versions. 
PivotMultiPagesCellChange.zip 20 kb 
  15-Jun-07
philo6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 20h09   #8
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Je ne sais pas mettre la manip vu que c'est ce que j'essaie de créer. Ou je n'ai pas compris ce que tu m'as demandé.
Désolée, je suis vraiment débutante avec les macros et ça me donne du fil à retordre.

Encore merci
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 20h12   #9
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Sur ce lien-ci visiblement, le code permet de faire ce que j'ai envie, mais je ne comprends rien au code ne m'y connaissant pas en macro...
Excel me rend diiiingue!!!

http://blogs.msdn.com/b/gabhan_berry...vottables.aspx

Quelqu'un saurait m'éclairer?
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 20h26   #10
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Si tu faisais ce que je te demande ? Si tu ne sais pas te servir de l'enregistreur, dis-le.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 20h33   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Si aucun des TCD n'est modifié, réponds en mettant ton classeur en pièce jointe. Ne garde qu'un TCD, supprime les données confidentielles et ce qui n'est pas utile à la résolution du problème afin d'en diminuer la taille.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 21h08   #12
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Salut Daniel,

désolée pour l'épisode de l'enregistreur, j'ai essayé, mais en effet, je ne dois pas comprendre tout le fonctionnement de l'outil.
Je mettrai le fichier demain parce qu'énormément de données confidentielles.

Encore merci pour ta patience

Jenna
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 09h48   #13
Invité régulier
 
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 7
Points : 7
Par défaut Solutionné

Bonjour Daniel,

Je viens de réessayer ton code et cela fonctionne parfaitement.
Je pense que le problème venait du fait que j'avais des TCD qui venaient de sources de données différents.
Le problème arrive aussi si dans une des pivot le filtre qu'on veut automatiser n'apparait pas.

En tout cas encore mille mercis!!

Jenna
yeahna est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h11.


 
 
 
 
Partenaires

Hébergement Web