Se connecter avec
S'enregistrer | Connectez-vous

Tableau croisé dynamique

Dernière réponse : dans Programmation

bonjour
'je voudrai faire un tableau croisé dynamique
'dont voici l'enregistreur de macro que j'ai dejà commencé a modifier
'mon tableau se trouve sur la feuille "feuil1" et mon tableau croisé dynamique lui je
'veux le mettre sur la feuille "param"
pour l'instant j'ai ajouté la ligne 3 et modifier la ligne 7
car c'est pas un tableau figé parce que les lignes peuvent etre ajoutées ou pas
  1. Sub tableau_croisé_d()
  2. Dim k As Long
  3. k = Worksheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row
  4. Range("A6").Select
  5. Sheets.Add
  6. ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  7. "Feuil1!L5C1:L" & (k) & "C16", Version:=xlPivotTableVersion10).CreatePivotTable _
  8. TableDestination:="param!L5C1", TableName:="Tableau croisé dynamique7", _
  9. DefaultVersion:=xlPivotTableVersion10
  10. Sheets("param").Select
  11. Cells(5, 1).Select
  12. ActiveSheet.PivotTables("Tableau croisé dynamique7").AddDataField ActiveSheet. _
  13. PivotTables("Tableau croisé dynamique7").PivotFields("ID"), "Somme de ID", _
  14. xlSum
  15. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("ISIN")
  16. .Orientation = xlRowField
  17. .Position = 1
  18. End With
  19. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("Libellé" _
  20. )
  21. .Orientation = xlRowField
  22. .Position = 2
  23. End With
  24. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("Rating")
  25. .Orientation = xlRowField
  26. .Position = 3
  27. End With
  28. End Sub

'

lorsque je lance le code avec F8 j'ai une erreur à la ligne 4 "erreur definie par l'application ou par l'objet"

merci de votre aide

Autres pages sur : tableau croise dynamique

Lassé par la pub ? Créez un compte

Meilleure solution

Ceci est une proposition de solution

  1. Sub tableau_croisé_d()
  2. Dim k As Long
  3. k = worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row
  4.  
  5. ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  6. "'Synthèse'!R5C1:R" & k & "C16", Version:=xlPivotTableVersion10).CreatePivotTable _
  7. TableDestination:="'Parametrage'!R5C1", TableName:="Tableau croisé dynamique7", _
  8. DefaultVersion:=xlPivotTableVersion10
  9. Sheets("Parametrage").Select
  10. Cells(5, 1).Select
  11. ActiveSheet.PivotTables("Tableau croisé dynamique7").AddDataField ActiveSheet. _
  12. PivotTables("Tableau croisé dynamique7").PivotFields("ID"), "Somme de ID", _
  13. xlSum
  14. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("ISIN")
  15. .Orientation = xlRowField
  16. .Position = 1
  17. End With
  18. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("Libellé" _
  19. )
  20. .Orientation = xlRowField
  21. .Position = 2
  22. End With
  23. With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields("Rating")
  24. .Orientation = xlRowField
  25. .Position = 3
  26. End With
  27. End Sub


ça marche bien chez moi
Expert Programmation

Salut Dianbobo,

Je vois que tu n'as toujours rien appris des sujets précédents ! :pfff: 
Lorsque l'on jongle avec plusieurs onglets, on précise l'onglet sur lequel on travaille, sans jamais faire confiance à l'objet (classeur, onglet, cellule) actif en cours.

Bonjour grand Maitre ZEB :bounce:  , bonjour tout le monde
je vois j'ai rectifié l'erreur de la ligne 4

en remplaçant
  1. Range("A6" ).Select

par
  1. Worksheets("Feuil1").Range("A6").Select

:) 
du coup il n'y a plus d'erreur sur cette ligne

mais cette fois ci j'ai une erreur a la ligne 6, 7,8 et 9 "
  1. argument ou appel de procedure incorrecte
"

comment y remedier :??: 

merci d'avance
Lassé par la pub ? Créez un compte