Macro tableau croisé dynamique

Signaler
-
 cyril7751 -
Bonjour,

voila je suis débutant dans la programmation de macro commande sur excel, de ce fait je n'utilise quasiment que l'enregistreur de macro et du coup ca devait arriver je suis bloqué.
J'aimerais créer un tableau croisé dynamique et quand je la lance il me signal une erreur, voici mon code :

Sub Macro1()

Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Positionnement_des_codes_régime!R1C1:R637C10", Version:= _
xlPivotTableVersion12).CreatePivotTable TableDestination:="Feuil1!R3C1", _
TableName:="Tableau croisé dynamique1", DefaultVersion:= _
xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(3, 1).Select

End Sub

Le débogage est signalé entre les deux émoticônes.
Quelqu’un aurait une solution ?


Cyril

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut Cyril

La prochaine fois que tu colles du code, merci d'utiliser la coloration syntaxique (3ème icône à droite) = plus facile à relire.

Si tu as une erreur, dis nous laquelle.
La zone de code que tu as borné avec les émoticônes n'est qu'une seule ligne de code (le _ en fin de ligne est une césure)

Ce genre de fonction devient vite compliqué selon que la feuille est 'propre' ou pas.
Ce que je veux dire, c'est que, si tu as déjà un tableau croisé dynamique (TDC) sur ta feuille, la macro peut perdre les pédales.
As-tu essayé ta macro juste après l'ouverture du classeur ?

Dans la même série, si tu fais des essais de TDC et que tu enregistres ensuite une macro pour reproduire ce que tu viens de mettre au point avec succès, Excel garde en mémoire certains préparatifs et ne met dans la macro que le complément.
As-tu enregistré ta macro juste après l'ouverture du classeur, pour voir la différence de syntaxe proposée ?

Es-tu sûr de la syntaxe des noms de feuille comme
"Positionnement_des_codes_régime" ?

Es-tu sûr qu'il n'existe pas déjà un TDC du nom de "Tableau croisé dynamique1" ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Salut Jack,
OUAH quelle rapidité !
En faite je veux juste créer un TCD à partir d'une base de donnée simple dans un nouvel onglet.

Tu m'as mis la puce à l'oreil et j'ai compris d'ou venait le problème, lorsque je fais l'enregistrement pour la première fois l'onglet "Feuil1" ce crée du coup il est nommé ainsi dans la macro, et lorsque que je supprime tout et que je veux faire l'essai avec l'automatisme, il me crée un onglet mais il le nomme Feuil2, forcément... et ma macro ne trouve plus la Feuil1 vue que je l'ai supprimé, elle est perdu

Merci pour les conseils je mettrais mon message en forme comme il faut la prochaine fois.

Je fais un essai.

Bonne journée, encore merci.

Sub Macro1()

Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Positionnement_des_codes_régime!R1C1:R637C10", Version:= _
xlPivotTableVersion12).CreatePivotTable TableDestination:="Feuil1!R3C1", _
TableName:="Tableau croisé dynamique1", DefaultVersion:= _
xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(3, 1).Select

End Sub


Cool