Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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é mais j'ai fini par trouver une solution tout seul comme un grand.


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 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

Nverder
 

Discussions similaires

Réponses
4
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…