M
mahad
Guest
Bonjour tout le monde,
Je cherche a créer un tableau dynamique avec un macro. En lisant un peu les anciennes discussions j'ai réussi cependant un problème persiste pour moi. En effet, mon tableau de départ n'a pas de taille prédéfinie au niveau de la longueur des colonnes. Quand je reste dans la taille definie lors de la création de la macro cela fonctionne ais si des données sont ajoutées, évidement, il ne prend pa en compte les nouvelles données puisque la macro s'arrete a la ligne C3. (VOIR LE BOUT DE CODE EN GRAS)
Voici le code associé a la macro:
ActiveCell.Cells.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Feuil1!A1:C3").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
.ColumnGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
"Ventes", ColumnFields:="Clients"
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Montants"). _
Orientation = xlDataField
Comment puis je faire pour que la macro prenne en compte toutes les cellules qui contiennent une info???
Merci d'avance!
Marine
Je cherche a créer un tableau dynamique avec un macro. En lisant un peu les anciennes discussions j'ai réussi cependant un problème persiste pour moi. En effet, mon tableau de départ n'a pas de taille prédéfinie au niveau de la longueur des colonnes. Quand je reste dans la taille definie lors de la création de la macro cela fonctionne ais si des données sont ajoutées, évidement, il ne prend pa en compte les nouvelles données puisque la macro s'arrete a la ligne C3. (VOIR LE BOUT DE CODE EN GRAS)
Voici le code associé a la macro:
ActiveCell.Cells.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Feuil1!A1:C3").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
.ColumnGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
"Ventes", ColumnFields:="Clients"
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Montants"). _
Orientation = xlDataField
Comment puis je faire pour que la macro prenne en compte toutes les cellules qui contiennent une info???
Merci d'avance!
Marine