[VBA]Aide création Tableau croisé dynamique (TCD)

stik913

XLDnaute Nouveau
Bonjour tout le monde,

Je veux faire un copier coller du classeur A au classeur B.

Dans le classeur B il y a des onglets pour chaque mois, à chaque onglet correspond un TCD déjà inscrit.

Lorsque les données à copier sont trop importantes, j'ai inséré cette formule pour créer un nouvel onglet automatiquement.

Et donc à ce nouvel onglet j'ai voulu inséré une fonction pour crée un TCD automatiquement aussi.

Or il crée le TCD et ensuite me dis " un tableau croisé dynamique est déjà crée avec cette source" ou alors il me dis qu'il n'y peut pas y avoir 2 tcd du meme nom.

Pourquoi?



Function FeuilleExiste(MaFeuille As String) As Boolean

Dim feuille As Worksheet

FeuilleExiste = False
For Each feuille In Worksheets
If (feuille.Name = MaFeuille) Then
FeuilleExiste = True

Cells.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"MaFeuille!C1:C27").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique3", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique3").AddFields RowFields:= _
Array("Enseigne", "Pays", "Date 1", "Date 2", "Nbre mois" _
)
With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Montant")
.Orientation = xlDataField
.Caption = "Somme de Montant HT"
.Function = xlSum
.NumberFormat = _
"_-* # ##0,00\ _€_-;-* # ##0,00\ _€_-;_-* ""-""??\ _€_-;_-@_-"
End With
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False

End If

Next feuille

End Function
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi