problème sur un projet de TCD automatisé

NVerder

XLDnaute Nouveau
Bonjour tout le monde,

Je suis novice en VBA.

Je cherche à automatiser la création d'un TCD à partir d'un fichier dont le nombre de ligne change à chaque fois.

La colonne sur laquelle aura lieu le TCD est fixe.

Lorsque j'utilise l'éditeur de macro tout fonctionne correctement.
Or, lorsque je cherche à faire fonctionner ma toute nouvelle macro je n'obtiens pas le même résultat.

-----------------------------
voici mon code

Sub TCD_essai_3()
'
'
Columns("M:M").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'feuill terrain'!C13").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique3", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Classement")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique3").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique3").PivotFields("Classement"), _
"Nombre de Classement", xlCount
ActiveSheet.PivotTables("Tableau croisé dynamique3").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique3").PivotFields("Classement"), _
"Nombre de Classement2", xlCount
Range("A6").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Nombre de Classement2")
.Calculation = xlPercentOfRow
.NumberFormat = "0%"
End With
Range("A8").Select
End Sub
-----------------------
voici ce le tableau que je souhaite obtenir
Classement
Données 2 3 4 (vide) Total
Nombre de Classement 74 2 6 82
Nombre de Classement2 90% 2% 7% 0% 100%


-----------------------
voila ce que j'obtiens lorsque je lance à nouveau ma macro: les données à classer (2, 3, 4) ont disparu.


-----------------------------
Données Total
Nombre de Classement 82
Nombre de Classement2 100%

------------------------------

D'avance merci à tous pour vos réponses.:)

NVerder
 

NVerder

XLDnaute Nouveau
Re : problème sur un projet de TCD automatisé

Bonjour,

Personne ne m'a aidé :mad: mais j'ai fini par trouver une solution tout seul comme un grand:cool:.


Il suffisait d'inverser l'ordre des lignes tel que proposé automatiquement par l'éditeur de macro.

Je vous montre le résultat de mon code pour que d'autres puissent en profiter sans s'énerver :confused: et sans perdre trop de temps.

Code:
Columns("M:M").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, SourceData:= _
"'feuill terrain'!C13").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique3", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

ActiveSheet.PivotTables("Tableau croisé dynamique3").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique3").PivotFields("Classement"), _
"Nombre de Classement", xlCount
ActiveSheet.PivotTables("Tableau croisé dynamique3").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique3").PivotFields("Classement"), _
"Nombre de Classement2", xlCount
Range("A6").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Nombre de Classement2")
.Calculation = xlPercentOfRow
.NumberFormat = "0%"
End With
Range("A8").Select

With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields( _
"Classement")
.Orientation = xlColumnField
.Position = 1
End With

End Sub

En espérant avoir plus de réponses de la part du forum pour ma prochaine question :p

Nverder
 

Discussions similaires

Réponses
4
Affichages
287

Statistiques des forums

Discussions
312 231
Messages
2 086 438
Membres
103 209
dernier inscrit
MIKA33260