erreur '438' en utilisant un tableau croisé dynamique

VERITE64

XLDnaute Nouveau
Bonjour à tous,
J'ai crée une macro intégrant un tableau croisé dynamique. lorsque je lance la macro un message d'erreur "438 propriété ou méthode non gérée par cette objet".
j'ai essayé diverses possibilités et j'ai toujours ce message qui apparaît. Si quelqu'un à une idée ou une astuce elle sera la bienvenue. voici le code.
en bleu, la zone ou le message d'erreur est indiqué
Range("F1").Select
ActiveCell.FormulaR1C1 = "référence"
Range("A2").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"données!R1C1:R301C12").CreatePivotTable TableDestination:= _
"'[charge SO 200836.xls]Planning'!R1C1", TableName:= _
""" & Nom_tcd & """, DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTablesActiveSheet.PivotTables(""" & Nom_tcd & """).PivotFields("ID"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _

False, False)
ActiveSheet.PivotTables(""" & Nom_tcd & """).PivotFields("référence"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables(""" & Nom_tcd & """).AddFields RowFields:= _
Array("référence", "ID"), ColumnFields:="Debut"
With ActiveSheet.PivotTables(""" & Nom_tcd & """).PivotFields( _
"Qte ouv.")
.Orientation = xlDataField
.NumberFormat = "0"
End With
ActiveWorkbook.ShowPivotTableFieldList = False
Range("C2").Select
Range(Selection, Selection.End(xlToRight)).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 90
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Columns.AutoFit

Merci à tous
 

VERITE64

XLDnaute Nouveau
Re : erreur '438' en utilisant un tableau croisé dynamique

bonjour tototiti2008,

Merci pour ta réponse.
j'ai déjà essayé, car je pensais aussi que le problème venait du nom du tableau, mais quelle que soit la sémantique utilisée pour nommer le tableau l'erreur reste la même.
 

Slade47

XLDnaute Nouveau
Re : erreur '438' en utilisant un tableau croisé dynamique

Bonjour,

Il y a 2 fois de suite ActiveSheet.PivotTables au début de la ligne.

ActiveSheet.PivotTablesActiveSheet.PivotTables(""" & Nom_tcd & """).PivotFields("ID"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
 

VERITE64

XLDnaute Nouveau
Re : erreur '438' en utilisant un tableau croisé dynamique

Merci à tous pour votre assistance,

Je vous joint les 2 fichier concernés.
Dans le fichier Charge SO 200836 se trouve les macros. Celle que je lance au départ se nomme 'Calcul'.
le second fichier 'chargeso.prn' est une extraction de l'ERP que je reprend dans la macro pour une mise en forme et de là je crée le tableau croisé dynamique.
Attention il faut changer le chemin d'acces du fichier 'chargeso.prn'

bon courage
 

Pièces jointes

  • appli.ZIP
    44.2 KB · Affichages: 44
  • appli.ZIP
    44.2 KB · Affichages: 41
  • appli.ZIP
    44.2 KB · Affichages: 44

Slade47

XLDnaute Nouveau
Re : erreur '438' en utilisant un tableau croisé dynamique

Re-bonjour,

Il faut insérer une ligne, celle qui est en rouge dans ton code.

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, SourceData:= _
"données!R1C1:R301C12").CreatePivotTable TableDestination:= _
"'[charge SO 200836.xls]Planning'!R1C1", TableName:= _
""" & Nom_tcd & """, DefaultVersion:=xlPivotTableVersion10
Sheets("Planning").Select
ActiveSheet.PivotTablesActiveSheet.PivotTables(""" & Nom_tcd & """).PivotFields("ID"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)

Il suffisait de sélectionner la feuille où est le tableau croisé.

Alain
 

Discussions similaires

Statistiques des forums

Discussions
312 779
Messages
2 092 044
Membres
105 163
dernier inscrit
pydagiral