Kikou all et bonne année 2008 !!!
Je voudrais automatiser la création d'un tableau croisé dynamique pour que, à partir des données d'une colonne, ca créer automatiquement un graphique.
Voici schématiquement le contenu de ma colonne :
Colonne n°4
Titre en ligne 1 : Liste des défauts
Ligne 2 : Défaut1
Ligne 3 : Défaut6
Ligne 4 : Défaut3
Ligne 5 : Défaut1
Ligne 6 :Défaut1
Ligne 7 : Défaut3
Quand j'enregistre une macro en faisant les opérations de création du TCD j'obtiens bien le bon résultat à savoir un histogramme en abscisse le nom du défaut et en ordonnée le nombre de défauts apparu...j'ai donc :
- un "baton" avec Défaut1 en abscisse et 3 en ordonnée (le défaut1 est apparu 3 fois)
- un "baton" avec Défaut6 en abscisse et 1 en ordonnée
- un "baton" avec Défaut3 en abscisse et 2 en ordonnée
Quand je lance la macro que je viens d'enregistrer le graphique présente 1 seul colonne totalisant le nombre de défaut
Voici le code de la macro enregistrée :
Savez vous ce qui cloche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub Macro40() ' ' Macro40 Macro ' Macro enregistrée le 07/01/2008 par beau ' ' Columns("D:D").Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'Def AVD'!C4").CreatePivotTable TableDestination:="", TableName:= _ "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select Charts.Add ActiveChart.Location Where:=xlLocationAsNewSheet With ActiveChart.PivotLayout.PivotTable.PivotFields("Défauts") .Orientation = xlRowField .Position = 1 End With ActiveChart.PivotLayout.PivotTable.AddDataField ActiveChart.PivotLayout. _ PivotTable.PivotFields("Défauts"), "Nombre de Défauts", xlCount ActiveWorkbook.ShowPivotTableFieldList = False End Sub
Merci pour vos réponse
PS : Le nombre de ligne de la colonne n°4 est variable d'un rapport à un autre
Partager