Filtre Tableau croisé dynamique

Bonjour,

J'ai une source de données du genre :

Type ; Semaine ; A ; B ; B/A ; C ; C/B

AA ;30 ; 100; 60 ; 60% ;40 ; 33%

où B/A et C/B sont des ratios en pourcentages. J'ai un champ "Type" qui peut prendre 3 valeurs donc j'ai un bloc avec les chiffres pour toutes les semaines pour chaque type.

J'ai fait un tableau croisé dynamique reprenant ces infos en plaçant "Type" en filtre. Je ne veux pas qu'on puisse mélanger les chiffres des différents types, on doit pouvoir les regarder 1 par 1. Pourquoi ? Parce que lorsque je fais glisser mes 2 champs ratios dans les champs colonnes, si on sélectionne tout, les chiffres sont moyennés pour les 3 types or ça n'a pas de sens (ou alors il faudrait pouvoir faire une moyenne pondérée).

Je voudrais soit :

  • Ne pas pouvoir sélectionner "Tout" dans mon filtre Type.
  • Paramètrer les calculs de ratio dans le tcd (pour tenir compte de la pondération des 3 types). Cela ne me semble pas être possible...
  • Sinon, j'aurai voulu pouvoir ajouter le champ "Type" en filtre mais aussi en ligne mais pas possible apparemment..

Avez-vous une idée ?

bonjour

joins ton fichier simplifié, avec le TCD actuel et une redescription de ce que tu veux

Bonjour,

En pj le fichier.

Dans le filtre du tableau, je peux choisir 2 types et "Tous". Idéalement, je ne voudrais pouvoir choisir que l'un des 2 types. Parce que si je sélectionne tous, par exemple pour la semaine 20, j'obtiens dans le tableau un taux de 22% alors que si on fait 288/1202, le résultat est 24%.. J'obtiens 22% car c'est la moyenne entre le taux pour le type A 18% et le type B 25% mais je voudrais voir 24% dans mon tcd... Si ce n'est pas possible (en tout cas,je n'ai pas trouvé comment faire), je voudrais rendre impossible de sélectionner "Tous" dans le filtre.

Merci pour votre aide !

23aide-tcd.xlsx (14.60 Ko)

Bonjour,

ALT F11 pour ouvrir l'éditeur VBE

Voir module de Feuil1.

Cdlt.

38aide-tcd.xlsm (22.57 Ko)
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim pf As PivotField

    On Error GoTo exit_Handler

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    If ActiveSheet.Name = Me.Name Then
        For Each pf In Target.PageFields
            If pf.CurrentPage = "(All)" Then
                Application.Undo
                MsgBox "Veuillez ne sélectionner qu'un seul élément."
            End If
        Next pf
    End If

exit_Handler:
    Set pf = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End Sub
Rechercher des sujets similaires à "filtre tableau croise dynamique"