Fameuse Erreur n°5 sur TCD

Bonjour.

Dans mon classeur, j'ai une feuille Extract.

A partir de cette feuille, je veux créer un TCD. Mais lors de la création de ce TCD, j'ai l'erreur numéro 5.

J'ai fais des recherches: j'ai essayé de changer le nom du TCD, la destination etc... mais rien n'y fait.

Pouvez-vous me débogguer svp ?

MercI.

Sub TCD()

    Dim feuilleTCD

    Application.DisplayAlerts = False

    Sheets("Stat SSE 2012").Delete

    Sheets.Add
    ActiveSheet.Name = "Stat SSE " & Year(Now)

    Set feuilleTCD = Sheets("Stat SSE " & Year(Now))
    Sheets("Export").Select
    Sheets("Export").UsedRange.Name = "table"

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "table", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="Stat SSE " & Year(Now) & "!R1C1", _
        TableName:="Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion14

    With feuilleTCD
    .PivotTables ("Tableau croisé dynamique1")
        .PivotFields ("Année")
            .Orientation = xlPageField
            .Position = 1
            .CurrentPage = "" & Year(Now)
        .PivotFields ("CF")
            .Orientation = xlRowField
            .Position = 1
    End With

    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique1").PivotFields("Date"), _
        "Nombre de Date", xlCount

End Sub
39extractmc.xlsm (48.40 Ko)

Bonjour,

Pourquoi avoir créé un nouveau fil plutôt que de rester ici --> https://forum.excel-pratique.com/excel/alimenter-automatiquement-un-filtre-de-tcd-t30890.html

Logique ton souci, l'objet feuille n'est pas déclaré lors de la création du TCD.

Essaie plutôt comme ceci :

Sub TCD()
Dim feuilleTCD
Application.DisplayAlerts = False
Sheets("Stat SSE 2012").Delete

Sheets.Add.Name = "Stat SSE " & Year(Now)

Set feuilleTCD = Sheets("Stat SSE " & Year(Now))
Sheets("Export").UsedRange.Name = "table"

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="table").CreatePivotTable _
    TableDestination:=feuilleTCD.Range("A3"), _
    TableName:="Tableau croisé dynamique1"

With feuilleTCD.PivotTables ("Tableau croisé dynamique1")
    .PivotFields ("Année")
        .Orientation = xlPageField
        .CurrentPage = "" & Year(Now)
    .PivotFields ("CF")
        .Orientation = xlRowField
End With

ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
    PivotTables("Tableau croisé dynamique1").PivotFields("Date"), _
    "Nombre de Date", xlCount

End Sub

Si ok, clique sur le V vert à coté du bouton Editer pour cloturer le fil

Amicalement

Effectivement.

En déclarant feuilleTCD as Worksheet, je n'ai plus l'erreur n°5.

Merci DAN , j'étais un peu mal luné.

Rechercher des sujets similaires à "fameuse erreur tcd"