Bonjour,
Je suis novice sous VB et j'ai qq notions sous Excel mais j'ai une petite question.
J'ai une vingtaine de fichier qui contiennent chacun une plage de données à partir de laquelle je voudrais faire pour chacun de 20 fichier plusieurs TCD qui seront identiques.
J'ai donc pensé passer par une macro mais cela ne fonctionne pas. Premièrement parce que la taille des plages de donées sources diffère dans chaque fichier et deuxièmement parce que chaque fichier porte un nom différent.
Si qqun peut m'aider, je laisse mon code ci-dessous...
Merci par avance,
Pierre
Je suis novice sous VB et j'ai qq notions sous Excel mais j'ai une petite question.
J'ai une vingtaine de fichier qui contiennent chacun une plage de données à partir de laquelle je voudrais faire pour chacun de 20 fichier plusieurs TCD qui seront identiques.
J'ai donc pensé passer par une macro mais cela ne fonctionne pas. Premièrement parce que la taille des plages de donées sources diffère dans chaque fichier et deuxièmement parce que chaque fichier porte un nom différent.
Si qqun peut m'aider, je laisse mon code ci-dessous...
Merci par avance,
Pierre
Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"amiens!R1C1:R251C24").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
Array("Agence", "LIB COMPTE"), ColumnFields:="ANNEE"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("MONTANT" _
)
.Orientation = xlDataField
.NumberFormat = "# ##0_ ;-# ##0\ "
End With
Sheets("amiens").Select
ActiveWorkbook.Worksheets("Feuil7").PivotTables("Tableau croisé dynamique1"). _
PivotCache.CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("Nom - Prénom", "LIB COMPTE"), ColumnFields:="ANNEE"
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("MONTANT" _
)
.Orientation = xlDataField
.NumberFormat = "# ##0"
End With
ActiveWorkbook.ShowPivotTableFieldList = False
Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect _
"'Nom - Prénom'[All;Total]", xlDataAndLabel, True
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Range("D3").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").RowGrand = False