OVH Cloud OVH Cloud

Macro Tableau Croisé Dynamique

2 réponses
Avatar
BaBe62
je suis en Excel 2000 (9.0.6926 SP-3)
j'ai enregistr=E9 manuellement une macro qui me g=E9n=E8re un=20
tableau crois=E9 dynamique =E0 partir d'une liste de donn=E9es.
quand je rejoue cette macro, un message d'erreur=20
intervient:

Erreur d'execution 1004
La m=E9thode AddFields de la classe PivotTable a =E9chou=E9

voici le code g=E9n=E9r=E9 automatiquement par Excel:

Sub Macro1()
'
' Macro1 Macro
' Macro enregistr=E9e le 20/07/2004 par ST03299
'

'
ActiveWorkbook.PivotCaches.Add(SourceType:=3DxlDatabase,=20
SourceData:=3D _
"OpTime!C1:C15").CreatePivotTable=20
TableDestination:=3D"", TableName:=3D _
"Tableau crois=E9 dynamique1"
ActiveSheet.PivotTableWizard=20
TableDestination:=3DActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau crois=E9=20
dynamique1").SmallGrid =3D False
ActiveSheet.PivotTables("Tableau crois=E9=20
dynamique1").AddFields RowFields:=3D _
Array("Name", "Task ID"), ColumnFields:=3D"Activity=20
Month"
ActiveSheet.PivotTables("Tableau crois=E9=20
dynamique1").PivotFields("# of Days"). _
Orientation =3D xlDataField
End Sub

Je pense qu'il s'agit l=E0 d'un bug Excel, car c'est lui=20
seul qui g=E9n=E8re et rejoue le script VB.
N'y a-t-il pas un correctif VB pour cette version=20
d'Excel ?

2 réponses

Avatar
Shnoulle
Bonjour BaBe62,

Quand tu 'rejoue' la macro,

est-ce que tu as supprimé le TCD existant, sinon il risque d'avoir un
problèmes sur TableName:= "Tableau croisé dynamique1"

De plus l'enregistreur de Macro efectue des macros qui sont souvent à
dégrossir, surtout concernant les noms,

Sinon, est tu sur que tu a encore sur ta feuillle OpTime sur les 15
premières colonne en entétes:

Name, Task ID, Activity Month et Days



A+
Shnoulle





De : "BaBe62"
Groupes : microsoft.public.fr.excel
Date : Wed, 21 Jul 2004 06:42:44 -0700
Objet : Macro Tableau Croisé Dynamique

je suis en Excel 2000 (9.0.6926 SP-3)
j'ai enregistré manuellement une macro qui me génère un
tableau croisé dynamique à partir d'une liste de données.
quand je rejoue cette macro, un message d'erreur
intervient:

Erreur d'execution 1004
La méthode AddFields de la classe PivotTable a échoué

voici le code généré automatiquement par Excel:

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 20/07/2004 par ST03299
'

'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:= _
"OpTime!C1:C15").CreatePivotTable
TableDestination:="", TableName:= _
"Tableau croisé dynamique1"
ActiveSheet.PivotTableWizard
TableDestination:¬tiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé
dynamique1").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé
dynamique1").AddFields RowFields:= _
Array("Name", "Task ID"), ColumnFields:="Activity
Month"
ActiveSheet.PivotTables("Tableau croisé
dynamique1").PivotFields("# of Days"). _
Orientation = xlDataField
End Sub

Je pense qu'il s'agit là d'un bug Excel, car c'est lui
seul qui génère et rejoue le script VB.
N'y a-t-il pas un correctif VB pour cette version
d'Excel ?


Avatar
BaBe62
je rejoue la macro sur un autre fichier, où aucun TCD
n'existe (ce sont tous les memes fichiers, seuls les
données chiffrées changent)

je ne touche pas à ma feuille Optime puisque mon TCD se
cree dans une nouvelle feuille
j'ai donc bien encore mes colonnes avec les bons libelles

autre piste ?



-----Message d'origine-----

Bonjour BaBe62,

Quand tu 'rejoue' la macro,

est-ce que tu as supprimé le TCD existant, sinon il
risque d'avoir un

problèmes sur TableName:= "Tableau croisé dynamique1"

De plus l'enregistreur de Macro efectue des macros qui
sont souvent à

dégrossir, surtout concernant les noms,

Sinon, est tu sur que tu a encore sur ta feuillle OpTime
sur les 15

premières colonne en entétes:

Name, Task ID, Activity Month et Days



A+
Shnoulle





De : "BaBe62"
Groupes : microsoft.public.fr.excel
Date : Wed, 21 Jul 2004 06:42:44 -0700
Objet : Macro Tableau Croisé Dynamique

je suis en Excel 2000 (9.0.6926 SP-3)
j'ai enregistré manuellement une macro qui me génère un
tableau croisé dynamique à partir d'une liste de
données.


quand je rejoue cette macro, un message d'erreur
intervient:

Erreur d'execution 1004
La méthode AddFields de la classe PivotTable a échoué

voici le code généré automatiquement par Excel:

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 20/07/2004 par ST03299
'

'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:= _
"OpTime!C1:C15").CreatePivotTable
TableDestination:="", TableName:= _
"Tableau croisé dynamique1"
ActiveSheet.PivotTableWizard
TableDestination:¬tiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé
dynamique1").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé
dynamique1").AddFields RowFields:= _
Array("Name", "Task ID"), ColumnFields:="Activity
Month"
ActiveSheet.PivotTables("Tableau croisé
dynamique1").PivotFields("# of Days"). _
Orientation = xlDataField
End Sub

Je pense qu'il s'agit là d'un bug Excel, car c'est lui
seul qui génère et rejoue le script VB.
N'y a-t-il pas un correctif VB pour cette version
d'Excel ?


.