Faire un tableau croisé dynamique dans une macro [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
13 mai 2013
-
Messages postés
23384
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2020
-
Bonjour tout le monde,

Je viens vers vous pour car j'ai un problème avec un de mes travaux sur Excel. Je n'arrive pas à faire un tableau croisé dynamique dans une macro. EXCEL me dit: Impossible d'éxécuter le code en mode arrêt...... Comment faire? Merci de votre aide

Sub Macro2()
'
' Macro2 Macro
'
' Touche de raccourci du clavier: Ctrl+a
'
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R1C1:R7C3", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil4!R3C1", TableName:="Tableau croisé dynamique2", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil4").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("SAN"), "Somme de SAN", _
xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"FILIALES")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("COMPTES" _
)
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("COMPTES" _
)
.Orientation = xlRowField
.Position = 1
End With
End Sub

4 réponses

Messages postés
9733
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
8 juillet 2020
1 059
Bonjour,
C'est étonnant, je viens de réaliser un essai avec votre code et cela fonctionne sans problème.

Messages postés
23384
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2020
6 233
Bonjour,

EXCEL me dit: Impossible d'éxécuter le code en mode arrêt... = pas à pas et Stop interdit.
Obligation de lancer tout en bloc.

eric

Messages postés
9733
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
8 juillet 2020
1 059
Bonjour eriiic,
J'ai essayé le code pas à pas sans problème.... Où est l'erreur... !
Amicales salutations
Messages postés
23384
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2020
6 233
Bonjour le pingou,

Il n'y a pas forcément erreur sur ce message.
Maintenant pourquoi elle l'a je ne sais pas.
Peut-être que c'est une particularité de 2007 (ça m'étonnerait), ou bien qu'elle l'a sur une autre portion de code.
On en saura peut-être plus à son retour :-)
Elle pourra dire la ligne en cause...

eric
Messages postés
9733
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
8 juillet 2020
1 059
Merci eriiic et bonne journée.
Le Pingou.
Messages postés
2
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
13 mai 2013

Le problème était de nommer la feuille que je voulais créer: Voilà la correction
Sub Macro2()
'
' Macro2 Macro
'
' Touche de raccourci du clavier: Ctrl+a
'
Application.CutCopyMode = False
Sheets.Add.Name = "TCD"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil2!R1C1:R7C3", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="TCD!R3C1", TableName:="Tableau croisé dynamique2", _
DefaultVersion:=xlPivotTableVersion12
Sheets("TCD").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("SAN"), "Somme de SAN", _
xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"FILIALES")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("COMPTES" _
)
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("COMPTES" _
)
.Orientation = xlRowField
.Position = 1
End With
End Sub

Merci à tous !!! =)
Messages postés
23384
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2020
6 233
Le problème était de nommer la feuille
Ah oui ? C'était écrit où ???
Tu peux passer en résolu stp (vers ton titre)

eric