Mettre en forme un tableau croisé dynamique

Juju93 -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite que l'etiquete de ligne d'un tableau croissé dynamique soit séléctionnée en fonction de la valeur d'une cellule.

Un exemple, parce que je pense ne pas etre trés claire :

J'ai un TCD avec en étiquete de ligne des nom d'entreprise que je peu cocher ou decocher si je veu les voir afficher ou non.
Sur une autre feuille de mon classeur, j'ai un menu deroulant me permettant de selectionner une entreprise.

Je voudrai que mon TCD m'affiche les info relative à cette entreprise sans avoir à cocher ou decocher la case de l'entreprise dans mon TCD

Si je ne suis pas clair posez moi toute les question que vous voulez.

D'avance merci pour vos réponse.
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Faisable uniquement en vba.
    Tu nommes la cellule recevant le nom de l'entreprise sélectionnée 'EntSelect'
    et dans cette feuille de selection tu colles le code suivant:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim i As Long
        If Target.Address <> [EntSelect].Address Then Exit Sub
        With Sheets("Feuil4").PivotTables("Tableau croisé dynamique1").PivotFields("entreprise")
            .PivotItems([EntSelect].Value).Visible = True
            For i = 1 To .PivotItems.Count
                If .PivotItems(i).Name <> .PivotItems([EntSelect].Value).Name Then .PivotItems(i).Visible = False
            Next i
        End With
    End Sub

    Bien sûr dans Sheets("Feuil4").PivotTables("Tableau croisé dynamique1").PivotFields("entreprise") il faut adapter les noms aux noms de ton TCD
    Ex:
    http://www.cijoint.fr/cjlink.php?file=cj200810/cijXjLUhTP.xls

    eric
    0