Insertion TCD

Le
JLuc69
Salut le groupe,

Pour une petite application, on récupère des données d'une GPAO par u=
n export vers Excel. Pour synthétiser ces données, on doit trier ces do=
nnées et créer un TCD.
Comme on devrait avoir à le faire tous les jours, j'ai tenté de créer=
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'exécution =
5 :
"Argument ou appel de procédure incorrect" sur la ligne de création du =
TCD.
Je pensais qu'il s'agissait d'un problème de focus sur le classeur, mais =
non car le tri de départ marche bien.

Le code de la macro incriminée :

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 décoffrage. Pour les données, je vais modifier po=
ur adapter le nombre de ligne.

Merci d'avance pour toute explication
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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