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

préciser feuille pour tableau croisé

  • Initiateur de la discussion Initiateur de la discussion mumu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mumu

XLDnaute Occasionnel
Bonjour à toutes et tous,

J'ai écrit (en piquant plein d'infos sur le forum 😛 ) ce bout de macro pour créer un tableau croisé dynamique :

DerCol = Sheets("mafeuille").Cells(1, Columns.Count).End(xlToLeft).Column
DerLig = Sheets("mafeuille").Range("A" & Rows.Count).End(xlUp).Row
CelAdr = Cells(DerLig, DerCol).Address

Sheets("mafeuille").Select
Range("A1").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:="", TableName:="Tableau croisé dynamique1"
ActiveSheet.PivotTables("Tableau croisé dynamique1").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
"VEN_TRIMESTRE", ColumnFields:=Array("Classe", "LIEU_COD")
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"VEN_QTE_DEBARQUEE").Orientation = xlDataField
Application.CommandBars("PivotTable").Visible = False

Ce que je n'arrive pas à faire, c'est lui préciser que je veux que ce tableau aille se mettre dans une autre feuille bien précise déjà existante en A5...... Là il me rajoute juste une feuille......

Quelqu'un aurait-il la solution (qui doit être toute simple) ? mais tout ce que j'ai essayé ne marche pas 🙁


D'avance merci !!

Mumu
 
Dernière édition:
Re : préciser feuille pour tableau croisé

Salut Joss56,

Justement la plupart du code est issu d'un 'enregistrement de macro' et quand j'exécute la macro, il me mets le tableau croisé dans la feuille du tableau de données.....

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Range( _
"A5"), TableName:="Tableau croisé dynamique1"

Il n'y a aucune info sur ma feuille de destination...... 🙁
 
Re : préciser feuille pour tableau croisé

Bon, j'ai tenté le truc selon tes conseils mais il me manque "l'orthographe" exacte du code, j'ai écris :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"
Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").SmallGrid = False
Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
"VEN_TRIMESTRE", ColumnFields:=Array("Classe", "LIEU_COD")
Sheets("esti_autrsect").PivotTables("Tableau croisé dynamique1").PivotFields( _
"VEN_QTE_DEBARQUEE").Orientation = xlDataField
Application.CommandBars("PivotTable").Visible = False

et il ne veut pas comprendre la table destination....... Que manque t'il ??!!
sniff.....
 
Re : préciser feuille pour tableau croisé

La macro s'arrête à cette ligne :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, SourceData:= _
"mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Sheets("autrefeuille").Range("A5 "), TableName:="Tableau croisé dynamique1"

Et j'ai le message : Erreur d'execution '1004' Erreur définie par l'application ou par l'objet. L'erreur sur le nom de la feuille n'est pas en cause à cette étape
 
Re : préciser feuille pour tableau croisé

Je te mets le code en entier pour que ce soit plus clair !

Dim DerCol As Integer, DerLig As Long, CelAdr As String

' Récupérer la dernière colonne remplie et la dernière ligne
DerCol = Sheets("mafeuille").Cells(1, Columns.Count).End(xlToLeft).Column
DerLig = Sheets("mafeuille").Range("A" & Rows.Count).End(xlUp).Row
CelAdr = Cells(DerLig, DerCol).Address

Sheets("mafeuille").Select
Range("A1").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"
Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").SmallGrid = False
Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
"VEN_TRIMESTRE", ColumnFields:=Array("Classe", "LIEU_COD")
Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").PivotFields( _
"VEN_QTE_DEBARQUEE").Orientation = xlDataField
Application.CommandBars("PivotTable").Visible = False
 
Re : préciser feuille pour tableau croisé

Je viens de trouver LA solution!!

Au lieu d'écrire
TableDestination:=Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"

Il faut noter :
TableDestination:="'autrefeuille'!R5C1", TableName:="Tableau croisé dynamique1"

Et la ça marche bien !!

Merci quand même pour tes conseils joss56, qui m'ont bien fait avancer !

@ +

mumu
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
  • Question Question
Réponses
1
Affichages
760
M
Réponses
2
Affichages
3 K
V
Réponses
69
Affichages
9 K
V
E
Réponses
6
Affichages
2 K
ELucie
E
P
Réponses
6
Affichages
1 K
P
L
Réponses
5
Affichages
3 K
legolas86
L
P
Réponses
0
Affichages
2 K
phi.rousseau
P
N
  • Question Question
Réponses
5
Affichages
3 K
D
Réponses
4
Affichages
2 K
Dadou99
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…