Aide VBA pour macro TCD

mat20008

XLDnaute Nouveau
Bonjour,

Décidemment je n'arrete plus de poser des question concernant VBA que je découvre depuis peu...
Alors voici le soucis du jour:

Je crée un tableau dynamique dans l'onglet "LILLE", j'en ai fait au passage une macro, le soucis est d'utiliser ce code sur les onglets PARIS, MARSEILLE....dans chaque onglet

En essayant le code suivant dans l'onglet PARIS, évidemment ça bloque à cause de "LILLE", j'aimerai savoir ce qu'il faut modifier pour pouvoir utiliser la macro dans les autres onglets PARIS.....

Ca doit pas être très compliqué, mais je suis novice...
Cdmt

Sub TCD()
'
' TCD Macro
'

'
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"LILLE!L1C1:L65536C20", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="LILLE!L11C22", TableName:="Tableau croisé dynamique4", _
DefaultVersion:=xlPivotTableVersion10
Sheets("LILLE").Select
Cells(11, 22).Select
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Commercial")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Mois Comptable")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Montant cde")
.Orientation = xlRowField
.Position = 3
End With
ActiveSheet.PivotTables("Tableau croisé dynamique4").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique4").PivotFields("Montant cde"), _
"Nombre de Montant cde", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Mois Comptable")
.Orientation = xlColumnField
.Position = 1
End With
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 22
ActiveWorkbook.Save
Range("X16").Select
ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotCache.Refresh
ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Mois Comptable").PivotFilters.Add Type:=xlDateThisYear
End Sub
 

Dan

XLDnaute Barbatruc
Re : Aide VBA pour macro TCD

Bonsoir,

Je n'ai pas excel 2007 et sans voir ton fichier ce n'est pas évident.
Essaye toutefois ce code :
Code:
Sub tcd()
Dim table as range
ActiveSheet.UsedRange.Name = "table"
With ActiveWorkbook
    .PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"table", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:=ActiveSheet.Cells(11, 22), TableName:="Tableau croisé dynamique4", _
DefaultVersion:=xlPivotTableVersion10
    .ShowPivotTableFieldList = True
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4")
    With .PivotFields("Commercial")
    .Orientation = xlRowField
    .Position = 1
    End With
    With .PivotFields("Mois Comptable")
    .Orientation = xlRowField
    .Position = 2
    End With
    With .PivotFields("Montant cde")
    .Orientation = xlRowField
    .Position = 3
    End With
.AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Montant cde"), "Nombre de Montant cde", xlCount
    With .PivotFields("Mois Comptable")
    .Orientation = xlColumnField
    .Position = 1
    End With
.PivotCache.Refresh
.PivotFields("Mois Comptable").PivotFilters.Add Type:=xlDateThisYear
End With
ActiveWorkbook.Save
Range("X16").Select
End Sub
Amicalement
Dan
 
Dernière édition:

mat20008

XLDnaute Nouveau
Re : Aide VBA pour macro TCD

Merci Dan, désolé pour la réponse tardive j'avais pas vu le post.

Ca fonctionne super! Juste une dernière chose avant, j'ai erreur d'execution 1004 sur la ligne:
.PivotFields("Mois Comptable").PivotFilters.Add Type:=xlDateThisYear

Wot izit?

Cdmt

Mathieu
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz