Donc me revoila,

j'avais déjà posté un problème concernant les filtres sur un TCD, cela avait été résolu mais en fait je me suis rendu compte que ça ne faisais pas vraiment ce que je voulais.

Donc la finalité c'est que je puisse filtrer mon TCD uniquement avec deux variables et ne pas voir le reste.

Je vous met mon code pour y voir un peu plus clair (le problème est vers la fin) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
sheets("TCD_EVO").Select
sheets("TCD_EVO").Cells.Clear 'Efface les cellules
 
        ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Feuil1!" & sheets("Feuil1").Range("A1").CurrentRegion.Address).CreatePivotTable TableDestination:= _
        "'[Projet1.2.xlsm]TCD_EVO'!R1C42", TableName:="Tableau croisé dynamique1"
        sheets("TCD_EVO").Select
    Cells(1, 42).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Dates")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Thèmes")
        .Orientation = xlPageField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique1").PivotFields("Réponses"), _
        "Nombre de Réponses", xlCount
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Thèmes"). _
        ClearAllFilters
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Thèmes"). _
        CurrentPage = "QUALITE"
     Columns("AP:AP").Select
    Selection.NumberFormat = "m/d/yyyy"
 
If sheets("TCD_EVO").Range("AP7") = "" Then
sheets("TCD_EVO").Cells.Clear
sheets("Accueil").Select
MsgBox "l'affichage de l'évolution n'est pas possible car un seul audit réalisé."
Exit Sub
Else
 
Dim a As String
Dim b As String
 
a = Range("AP65536").End(xlUp).Offset(-1, 0).Text
b = Range("AP65536").End(xlUp).Offset(-2, 0).Text
MsgBox a
MsgBox b
 
sheets("TCD_EVO").Select
'sheets("TCD_EVO").Cells.Clear 'Efface les cellules
 
        ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Feuil1!" & sheets("Feuil1").Range("A1").CurrentRegion.Address).CreatePivotTable TableDestination:= _
        "'[Projet1.2.xlsm]TCD_EVO'!R1C1", TableName:="Tableau croisé dynamique2"
        sheets("TCD_EVO").Select
        Cells(1, 1).Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Thèmes")
            .Orientation = xlPageField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
            "Domaines")
            .Orientation = xlColumnField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Dates")
            .Orientation = xlRowField
            .Position = 1
        End With
            ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique2").PivotFields("Réponses"), _
            "Somme de Réponses", xlSum
            ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Thèmes"). _
            CurrentPage = "QUALITE"
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Dates")
 
 
'c'est ici qu'est le problème, il m'affiche aussi les autres lignes qu'il trouve
'alors que je voudrais uniquement les lignes qui correspondent à ces deux 
'variables
 
 
                .PivotItems(a).Visible = True
                .PivotItems(b).Visible = True
        End With
        Range("A5").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique2")
            .ColumnGrand = False
            .RowGrand = False
        End With
        Call CopieColleTDBQ
End If
Flo