Bonjour

Voici le code qui pose problème :
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
Sub CREERTCD()
    Dim wshTCD      As Worksheet
    Dim PvtTCD      As PivotTable
    Dim Maplage     As Range
    '
    ' CREERTCD Macro
    '
    ' Sélection des données
    Sheets("yData").Activate
    Set Maplage = ActiveSheet.UsedRange
    Maplage.Select
 
   'Affectation du TCD à la feuille "TCD automatique"
    Sheets.Add
    ActiveSheet.Name = "TCD"
 
    Set wshTCD = Worksheets("TCD")
 
   'Ajout d'un TCD sur la feuille "TCD automatique"
    Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Maplage) _
                .CreatePivotTable(tabledestination:=wshTCD.Range("B5"), TableName:="TCD_yData")
 
   'Ajout des champs au TCD
   With PvtTCD
 
        'Ajout d'une Ligne ABREGE_SEMAINE
        With .PivotFields("ABREGE_SEMAINE")
            .Orientation = xlRowField
            .Position = 1
            .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
        End With
 
        'Ajout d'une Ligne Date_debut
        With .PivotFields("DEB_SEM")
            .Orientation = xlRowField
            .Position = 2
            .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
        End With
 
        'Ajout d'une Ligne Date_fin
        With .PivotFields("FIN_SEM")
            .Orientation = xlRowField
            .Position = 3
            .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
        End With
 
        'Ajout d'une Ligne Type de seance
        With .PivotFields("TYPE_SEANCE")
            .Orientation = xlRowField
            .Position = 4
            .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
 
        End With
 
        'Ajout d'une Ligne NOM_MATIERE
        With .PivotFields("NOM_MATIERE")
             .Orientation = xlRowField
             .Position = 4
             .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
        End With
 
        'Ajout d'une Ligne Somme T1
        With .PivotFields("REALISE_COEFF")
            .Orientation = xlDataField
            .Function = xlSum
 
        End With
 
        'Champs calculés
        .CalculatedFields.Add Name:="CO_PREPA", Formula:="=SI(EXACT(T(TYPE_SEANCE)#'ACTION')#0#1)"
        With .PivotFields("CO_PREPA")
            .Orientation = xlDataField
            .Function = xlSum
            .Caption = "Coeff. Prépa."
 
        End With
 
 
        'mode tabulaire
        .RowAxisLayout xlTabularRow
    End With
 
End Sub
Nom : Sans titre.png
Affichages : 327
Taille : 115,4 Ko
L'erreur survient au niveau du champ calculé car c'est le seul champ qui n'apparait pas. Erreur 1004 : impossible de trouver la proprieté pivotfields
Je me demande si la formule ne pose pas de problème...

Merci si qqn peut me donner un coup de main!

Cyrille