Insertion TCD

Le
JLuc69
Salut le groupe,

Pour une petite application, on rcupre des donnes d'une GPAO par u=
n export vers Excel. Pour synthtiser ces donnes, on doit trier ces do=
nnes et crer un TCD.
Comme on devrait avoir le faire tous les jours, j'ai tent de crer=
une macro dans le classeur de macros personnelles (perso.xls, si celui ci =
s'appelle toujours ainsi dans Excel 2007).
Malheureusement, lorsqu'on relance la macro, on a une erreur d'excution =
5 :
"Argument ou appel de procdure incorrect" sur la ligne de cration du =
TCD.
Je pensais qu'il s'agissait d'un problme de focus sur le classeur, mais =
non car le tri de dpart marche bien.

Le code de la macro incrimine :

Sub Pointage()
'
' Pointage Macro
'
' Touche de raccourci du clavier: Ctrl+n
'
Range("G2").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("G=
2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSor=
tNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:I132")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'**************************************************************************=
****
'**************** PARTIE INCRIMINEE ***************************************=
****
'**************************************************************************=
****
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=
= _
"Sheet1!L1C1:L132C9", Version:=xlPivotTableVersion10).CreatePivot=
Table _
TableDestination:="Sheet1!L2C11", TableName:="Tableau crois =
dynamique2", _
DefaultVersion:=xlPivotTableVersion10
'**************************************************************************=
****
'**************** FIN PARTIE INCRIMINEE ***********************************=
****
'**************************************************************************=
****
Sheets("Sheet1").Select
Cells(2, 11).Select
With ActiveSheet.PivotTables("Tableau crois dynamique2").PivotFields=
("DATE_OP" _
)
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau crois dynamique2").PivotFields=
( _
"NOM_OPERATEUR")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau crois dynamique2").AddDataField Act=
iveSheet. _
PivotTables("Tableau crois dynamique2").PivotFields("TPS_PREPARA=
TION"), _
"Somme de TPS_PREPARATION", xlSum
ActiveSheet.PivotTables("Tableau crois dynamique2").AddDataField Act=
iveSheet. _
PivotTables("Tableau crois dynamique2").PivotFields("HEURE_TRAVA=
IL"), _
"Somme de HEURE_TRAVAIL", xlSum
With ActiveSheet.PivotTables("Tableau crois dynamique2").DataPivotFi=
eld
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau crois dynamique2").PivotFields=
("DATE_OP" _
)
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau crois dynamique2").PivotFields=
( _
"Somme de TPS_PREPARATION")
.NumberFormat = "0.00"
End With
With ActiveSheet.PivotTables("Tableau crois dynamique2").PivotFields=
( _
"Somme de HEURE_TRAVAIL")
.NumberFormat = "0.00"
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub


La macro est brute de dcoffrage. Pour les donnes, je vais modifier po=
ur adapter le nombre de ligne.

Merci d'avance pour toute explication
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #25142512
Bonjour,

Fichier exemple : http://cjoint.com/?CAqmCKJyHRP


MichD
--------------------------------------------------------------
JLuc69
Le #25142622
Merci Michel, pour ta diligence.

Je te mets le type de fichier sur lequel on doit insérrer le TCD, ce sera peut être plus simple que de tout comprendre et modifier en fonction
J'ai déjà mis le TCD pour que tu puisses voir sa composition

http://cjoint.com/data/0Aqm6nEtnjN.htm

Merci encore
MichD
Le #25142992
Retour de ton fichier : http://cjoint.com/?CAqpUyeyj2I

Attention : pour pouvoir sauvegarder des macros dans un
classeur, tu dois choisir dans la liste déroulante "Type de
fichier" de la fenêtre "enregistrer sous" le format .xlsm

Le code est dans le module1.

MichD
--------------------------------------------------------------
JLuc69
Le #25143152
Merci Michel, je regarde ça demain au travail et te tiens au courant.
JLuc69
Le #25144702
Merci Michel, c'est exactement ce qu'il nous fallait
Publicité
Poster une réponse
Anonyme