Petit souci mais qui trouvera je l'espère une solution sur ce forum.
J'ai une macro qui me crée un TCD (code ci-dessous) qui procède à 3 étapes
principales :
1- je fais d'abord un TCD classique
2- je lui demande de le mettre au format "Table 4"
3- je lui demande de paramètrer le champ en "somme" (par défaut le TCD me
met "nombre").
Problème N°1 : les fichiers que j'injecte peuvent faire jusqu'à 10000 lignes
et le TCD classique crée plus de 65000 lignes d'où bug.
=> question : y a-t-il un moyen de passer directement au format "Table 4" ce
qui permettra de conserver le nombre de lignes du fichier initial ? C'est à
dire finalement passer l'étape 1 et créer directement un TCD au format
"Table 4".
Problème N°2 : moins important mais pourrait me faire gagner du temps :
peut-on supprimer l'étape 3 et l'inclure directement dans l'étape de
création du TCD ?
En conclusion, l'idéal serait d'avoir un code VB qui pemettrait de créer en
une seule étape un TCD au format "Table 4" et avec un paramètre de champ
"somme" (et non pas "nombre").
MERCI BEAUCOUP D'AVANCE A VOUS !!!!!!!!
Sub test ()
Sheets("hiérarchie").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
[hiérarchie!A1].CurrentRegion.Address(, , xlR1C1,
True)).CreatePivotTable TableDestination:="", TableName _
:="Tableau croisé dynamique6", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique6").AddFields
RowFields:= _
Array("Livré ", "Données")
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"total 2006")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"total 2007")
.Orientation = xlDataField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé
dynamique6").PivotFields("IT 2006" _
)
.Orientation = xlDataField
.Position = 3
End With
With ActiveSheet.PivotTables("Tableau croisé
dynamique6").PivotFields("IT 2007" _
)
.Orientation = xlDataField
.Position = 4
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"papier 2006")
.Orientation = xlDataField
.Position = 5
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"papier 2007")
.Orientation = xlDataField
.Position = 6
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"GOP 2006")
.Orientation = xlDataField
.Position = 7
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"GOP 2007")
.Orientation = xlDataField
.Position = 8
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"mobilier 2006")
.Orientation = xlDataField
.Position = 9
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"mobilier 2007")
.Orientation = xlDataField
.Position = 10
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"hygiène 2006")
.Orientation = xlDataField
.Position = 11
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique6").PivotFields( _
"hygiène 2007")
.Orientation = xlDataField
.Position = 12
End With
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon
format puis de lui indiquer la source de données (je le créé dans la
feuille TCD) :
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1,
True)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation =
xlDataField: .Position = 1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation =
xlDataField: .Position = 2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation =
xlDataField: .Position = 3: .Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation =
xlDataField: .Position = 4: .Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation =
xlDataField: .Position = 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation =
xlDataField: .Position = 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation =
xlDataField: .Position = 7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation =
xlDataField: .Position = 8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation =
xlDataField: .Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation =
xlDataField: .Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation =
xlDataField: .Position = 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation =
xlDataField: .Position = 12: .Function = xlSum: End With
End With
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Jean-François LEGRAS
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticalement et non horizontalement (je ne savais même pas que c'était possible avec ce type de format).
Donc même problème que pour le format par défaut : cela me crée plein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3, 1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticalement
et non horizontalement (je ne savais même pas que c'était possible avec ce
type de format).
Donc même problème que pour le format par défaut : cela me crée plein de
lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un
bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des
retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3,
1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation = xlDataField: .Position =
1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation = xlDataField: .Position =
2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3:
.Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4:
.Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position
= 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position
= 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position =
7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position =
8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation = xlDataField:
.Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation = xlDataField:
.Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position
= 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position
= 12: .Function = xlSum: End With
End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" <fdecourt@gmail.com> a écrit dans le message de news:
3d3ba885-e601-4ea9-9c62-f5dd743071aa@c19g2000prf.googlegroups.com...
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon
format puis de lui indiquer la source de données (je le créé dans la
feuille TCD) :
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1,
True)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation xlDataField: .Position = 1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation xlDataField: .Position = 2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation xlDataField: .Position = 3: .Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation xlDataField: .Position = 4: .Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation xlDataField: .Position = 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation xlDataField: .Position = 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation xlDataField: .Position = 7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation xlDataField: .Position = 8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation xlDataField: .Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation xlDataField: .Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation xlDataField: .Position = 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation xlDataField: .Position = 12: .Function = xlSum: End With
End With
bizarrement j'ai bien le format 4 mais il me met les données verticalement et non horizontalement (je ne savais même pas que c'était possible avec ce type de format).
Donc même problème que pour le format par défaut : cela me crée plein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3, 1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
FdeCourt
Salut,
Un paramètre quelques part a du être oublié. N'aurais tu pas un extrait de ton tableau de données (dans lequel tu modifies les données si besoin est). Tu peux le mettre sur cjoint.com, et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticaleme nt et non horizontalement (je ne savais même pas que c'était possible ave c ce type de format).
Donc même problème que pour le format par défaut : cela me crée pl ein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à caus e des retours à la ligne) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, Tr ue) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Positi on = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Positi on = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Posit ion = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Posit ion = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Po sition = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Po sition = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Salut,
Un paramètre quelques part a du être oublié.
N'aurais tu pas un extrait de ton tableau de données (dans lequel tu
modifies les données si besoin est). Tu peux le mettre sur cjoint.com,
et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" <jfleg...@gmail.com> wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticaleme nt
et non horizontalement (je ne savais même pas que c'était possible ave c ce
type de format).
Donc même problème que pour le format par défaut : cela me crée pl ein de
lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un
bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à caus e des
retours à la ligne) :
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, Tr ue)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation = xlDataField: .Positi on =
1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation = xlDataField: .Positi on =
2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3:
.Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4:
.Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation = xlDataField: .Posit ion
= 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation = xlDataField: .Posit ion
= 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position =
7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position =
8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation = xlDataField:
.Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation = xlDataField:
.Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Po sition
= 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Po sition
= 12: .Function = xlSum: End With
End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" <fdeco...@gmail.com> a écrit dans le message de news:
3d3ba885-e601-4ea9-9c62-f5dd74307...@c19g2000prf.googlegroups.com...
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon
format puis de lui indiquer la source de données (je le créé dans la
feuille TCD) :
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1,
True)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation =
xlDataField: .Position = 1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation =
xlDataField: .Position = 2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation =
xlDataField: .Position = 3: .Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation =
xlDataField: .Position = 4: .Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation =
xlDataField: .Position = 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation =
xlDataField: .Position = 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation =
xlDataField: .Position = 7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation =
xlDataField: .Position = 8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation =
xlDataField: .Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation =
xlDataField: .Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation =
xlDataField: .Position = 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation =
xlDataField: .Position = 12: .Function = xlSum: End With
End With
Un paramètre quelques part a du être oublié. N'aurais tu pas un extrait de ton tableau de données (dans lequel tu modifies les données si besoin est). Tu peux le mettre sur cjoint.com, et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticaleme nt et non horizontalement (je ne savais même pas que c'était possible ave c ce type de format).
Donc même problème que pour le format par défaut : cela me crée pl ein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à caus e des retours à la ligne) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, Tr ue) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Positi on = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Positi on = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Posit ion = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Posit ion = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Po sition = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Po sition = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Jean-François LEGRAS
Merci F.
Voici le lien du tableau. J'y ai mis ton code ainsi que l'onglet TCD.
J'ai donc les données qui se suivent verticalement et non alignées horizontalement.
Si tu as la solution...
Merci d'avance !
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Un paramètre quelques part a du être oublié. N'aurais tu pas un extrait de ton tableau de données (dans lequel tu modifies les données si besoin est). Tu peux le mettre sur cjoint.com, et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticalement et non horizontalement (je ne savais même pas que c'était possible avec ce type de format).
Donc même problème que pour le format par défaut : cela me crée plein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3, 1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position
2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position =
3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position > 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position > 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation > xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation > xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation > xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation > xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation > xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation > xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation > xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation > xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation > xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation > xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation > xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation > xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Cordialement,
F.
Merci F.
Voici le lien du tableau. J'y ai mis ton code ainsi que l'onglet TCD.
http://cjoint.com/?dClfk4UHZS
J'ai donc les données qui se suivent verticalement et non alignées
horizontalement.
Si tu as la solution...
Merci d'avance !
JF
"FdeCourt" <fdecourt@gmail.com> a écrit dans le message de news:
b53c6ebb-2ac4-4658-b1df-80d19b1ec3df@s19g2000prg.googlegroups.com...
Salut,
Un paramètre quelques part a du être oublié.
N'aurais tu pas un extrait de ton tableau de données (dans lequel tu
modifies les données si besoin est). Tu peux le mettre sur cjoint.com,
et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" <jfleg...@gmail.com> wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticalement
et non horizontalement (je ne savais même pas que c'était possible avec ce
type de format).
Donc même problème que pour le format par défaut : cela me crée plein de
lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un
bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des
retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3,
1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation = xlDataField: .Position
2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position =
3:
.Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position =
4:
.Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation = xlDataField:
.Position
= 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation = xlDataField:
.Position
= 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position > 7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position > 8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation = xlDataField:
.Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation = xlDataField:
.Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation = xlDataField:
.Position
= 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation = xlDataField:
.Position
= 12: .Function = xlSum: End With
End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" <fdeco...@gmail.com> a écrit dans le message de news:
3d3ba885-e601-4ea9-9c62-f5dd74307...@c19g2000prf.googlegroups.com...
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon
format puis de lui indiquer la source de données (je le créé dans la
feuille TCD) :
With MonTCD
.Format xlTable4
.SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1,
True)
.AddFields RowFields:=Array("Livré ", "Données")
With .PivotFields("total 2006"): .Orientation > xlDataField: .Position = 1: .Function = xlSum: End With
With .PivotFields("total 2007"): .Orientation > xlDataField: .Position = 2: .Function = xlSum: End With
With .PivotFields("IT 2006"): .Orientation > xlDataField: .Position = 3: .Function = xlSum: End With
With .PivotFields("IT 2007"): .Orientation > xlDataField: .Position = 4: .Function = xlSum: End With
With .PivotFields("papier 2006"): .Orientation > xlDataField: .Position = 5: .Function = xlSum: End With
With .PivotFields("papier 2007"): .Orientation > xlDataField: .Position = 6: .Function = xlSum: End With
With .PivotFields("GOP 2006"): .Orientation > xlDataField: .Position = 7: .Function = xlSum: End With
With .PivotFields("GOP 2007"): .Orientation > xlDataField: .Position = 8: .Function = xlSum: End With
With .PivotFields("mobilier 2006"): .Orientation > xlDataField: .Position = 9: .Function = xlSum: End With
With .PivotFields("mobilier 2007"): .Orientation > xlDataField: .Position = 10: .Function = xlSum: End With
With .PivotFields("hygiène 2006"): .Orientation > xlDataField: .Position = 11: .Function = xlSum: End With
With .PivotFields("hygiène 2007"): .Orientation > xlDataField: .Position = 12: .Function = xlSum: End With
End With
J'ai donc les données qui se suivent verticalement et non alignées horizontalement.
Si tu as la solution...
Merci d'avance !
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Un paramètre quelques part a du être oublié. N'aurais tu pas un extrait de ton tableau de données (dans lequel tu modifies les données si besoin est). Tu peux le mettre sur cjoint.com, et mettre le lien pour le télécharger sur ce newsgroup.
Cordialement,
F.
On 27 mar, 20:48, "Jean-François LEGRAS" wrote:
Merci beaucoup F pour ta réponse !
Hélas, ca ne marche pas tout à fait :
bizarrement j'ai bien le format 4 mais il me met les données verticalement et non horizontalement (je ne savais même pas que c'était possible avec ce type de format).
Donc même problème que pour le format par défaut : cela me crée plein de lignes supplémentaires et je peux avoir plus de 65000 lignes et donc un bug...
Aurais-tu la solution ?
Pour info, j'ai écris ce code (il ne marchait pas tout à fait à cause des retours à la ligne) :
Sub test ()
Dim MonTCD As PivotTable
Sheets("TCD").Cells.Delete
Set MonTCD = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[hiérarchie!A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD").Cells(3, 1), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation = xlDataField: .Position
2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation = xlDataField: .Position =
3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation = xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation = xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation = xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation = xlDataField: .Position > 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation = xlDataField: .Position > 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation = xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation = xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation = xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation = xlDataField: .Position = 12: .Function = xlSum: End With End With
End Sub
Merci beaucoup d'avance !!!
Slts
JF
"FdeCourt" a écrit dans le message de news:
Salut,
Ce bout de code te permet de créer ton TCD et de le mettre au bon format puis de lui indiquer la source de données (je le créé dans la feuille TCD) :
With MonTCD .Format xlTable4 .SourceData = [hiérarchie!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields RowFields:=Array("Livré ", "Données") With .PivotFields("total 2006"): .Orientation > xlDataField: .Position = 1: .Function = xlSum: End With With .PivotFields("total 2007"): .Orientation > xlDataField: .Position = 2: .Function = xlSum: End With With .PivotFields("IT 2006"): .Orientation > xlDataField: .Position = 3: .Function = xlSum: End With With .PivotFields("IT 2007"): .Orientation > xlDataField: .Position = 4: .Function = xlSum: End With With .PivotFields("papier 2006"): .Orientation > xlDataField: .Position = 5: .Function = xlSum: End With With .PivotFields("papier 2007"): .Orientation > xlDataField: .Position = 6: .Function = xlSum: End With With .PivotFields("GOP 2006"): .Orientation > xlDataField: .Position = 7: .Function = xlSum: End With With .PivotFields("GOP 2007"): .Orientation > xlDataField: .Position = 8: .Function = xlSum: End With With .PivotFields("mobilier 2006"): .Orientation > xlDataField: .Position = 9: .Function = xlSum: End With With .PivotFields("mobilier 2007"): .Orientation > xlDataField: .Position = 10: .Function = xlSum: End With With .PivotFields("hygiène 2006"): .Orientation > xlDataField: .Position = 11: .Function = xlSum: End With With .PivotFields("hygiène 2007"): .Orientation > xlDataField: .Position = 12: .Function = xlSum: End With End With
Désolé, je n'avais pas vu ton message. Essayes ceci :
Sub test2() Dim TCD1 As PivotTable Sheets("TCD1").Cells.Delete Set TCD1 = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[2006! A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD1").Cells(3, 2), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4) With TCD1 .Format xlTable4 .SourceData = [2006!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields ColumnFields:="Rubrique", RowFields:="Livré" With .PivotFields("Net"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With End With End Sub
Cordialement,
F.
Salut,
Désolé, je n'avais pas vu ton message. Essayes ceci :
Sub test2()
Dim TCD1 As PivotTable
Sheets("TCD1").Cells.Delete
Set TCD1 = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:=[2006!
A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD1").Cells(3, 2),
TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4)
With TCD1
.Format xlTable4
.SourceData = [2006!A1].CurrentRegion.Address(, , xlR1C1, True)
.AddFields ColumnFields:="Rubrique", RowFields:="Livré"
With .PivotFields("Net"): .Orientation = xlDataField: .Position =
1: .Function = xlSum: End With
End With
End Sub
Désolé, je n'avais pas vu ton message. Essayes ceci :
Sub test2() Dim TCD1 As PivotTable Sheets("TCD1").Cells.Delete Set TCD1 = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=[2006! A1:B2]).CreatePivotTable(TableDestination:=Sheets("TCD1").Cells(3, 2), TableName:="Tableau croisé dynamique6", DefaultVersion:=xlTable4) With TCD1 .Format xlTable4 .SourceData = [2006!A1].CurrentRegion.Address(, , xlR1C1, True) .AddFields ColumnFields:="Rubrique", RowFields:="Livré" With .PivotFields("Net"): .Orientation = xlDataField: .Position = 1: .Function = xlSum: End With End With End Sub