Insertion TCD dans une zone définie

Bonjour,

Je voudrais créer un tableau croisé dynamique dans une zone bien définie.

Voici le code crée ;

Sub TCD()

'

' TCDCLIENT Macro

Dim Msg, Style, Title, choix1, choix

On Error Resume Next

Application.ScreenUpdating = False

ActiveWorkbook.Names.Create Name:="TCD", RefersToR1C1:= _

"=OFFSET(CASH au 31122015!R1C1,,,COUNTA(CASH au 31122015!C1),20)" ' creation de la zone de nom

Msg = "Souhaitez-vous effacer le TCD ?" ' Définit le message d'effacement.

Style = vbYesNo + vbCritical + vbDefaultButton2 ' Définit les boutons.

Title = "Effacement du TCD " ' Définit le titre.

choix = MsgBox(Msg, Style, Title) ' Affiche le message.

If choix = vbYes Then ' L'utilisateur a choisi Oui.

ActiveSheet.PivotTables("Tableau croisé dynamique3").TableRange2.Clear 'Efface le TCD

choix1 = MsgBox(" souhaitez vous le recréer ?", Style, "Demande de Création ") 'Ouvre un nouveau MSGBOX pour la création du TCD

If choix1 = vbNo Then ' si la réponse est Non on sort de la macro

Exit Sub

Else 'sinon on crée le nouveau TCD

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="TCD" _

).CreatePivotTable TableDestination:=Worksheets("Feuil1").Range("R9C2").Activate, TableName:="TCD", DefaultVersion _

:=xlPivotTableVersion10

With ActiveSheet.PivotTables("TCD")

With .PivotFields("Périmètre Groupe"): .Orientation = xlColumnField: .Position = 1: End With

With .PivotFields("Nom Client"): .Orientation = xlColumnField: .Position = 2: End With

With .PivotFields("Nombre de Encaissement H.T."): .Caption = "Somme de Montant": .Function = xlSum: End With

End With

End If

La première partie suppression de l'ancien TCD fonctionne, mais je n'arrive pas à recréer un TCD avec le code ci-dessus.

Merci de votre aide,

Cordialement,

KA

Bonjour,

Merci de joindre un fichier à ta demande et de préciser la version d'Excel utilisée.

Cdlt.

Rechercher des sujets similaires à "insertion tcd zone definie"