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.