Macro de création tableau croisé dynamique
Geekette_en_herbe
Messages postés
2
Statut
Membre
-
Geekette_en_herbe Messages postés 2 Statut Membre -
Geekette_en_herbe Messages postés 2 Statut Membre -
Bonjour,
Merci par avance à ceux qui prendront le temps de lire le post.
Novice en programmation, j'ai besoin d'une macro pour créer un tableau croisé dynamique sous Excel d'un tableau basique comprenant le nom du client, le numéro de facture, le montant du et la personne responsable.
J'ai effectué un enregistrement avec l'assistant de création mais lorsque je souhaite ré exécuter ma macro, j'ai le message d'erreur ci-dessous et ce malgré le fait que j'ai supprimer au préalable la feuille crée.
Sub TableauCroise()
'
' TableauCroise Macro
'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tableau1", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil5!L3C1", TableName:="Tableau croisé dynamique2", _
==> ligne du message d'erreur '5' DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil5").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("Reste du"), _
"Somme de Reste du", xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"N°Facture")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Resp.")
.Orientation = xlPageField
.Position = 1
End With
Range("A4").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client"). _
ShowDetail = False
Sheets("Base").Select
End Sub
Si quelqu'un à une solution...
Bonne soirée.
Merci par avance à ceux qui prendront le temps de lire le post.
Novice en programmation, j'ai besoin d'une macro pour créer un tableau croisé dynamique sous Excel d'un tableau basique comprenant le nom du client, le numéro de facture, le montant du et la personne responsable.
J'ai effectué un enregistrement avec l'assistant de création mais lorsque je souhaite ré exécuter ma macro, j'ai le message d'erreur ci-dessous et ce malgré le fait que j'ai supprimer au préalable la feuille crée.
Sub TableauCroise()
'
' TableauCroise Macro
'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tableau1", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil5!L3C1", TableName:="Tableau croisé dynamique2", _
==> ligne du message d'erreur '5' DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil5").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("Reste du"), _
"Somme de Reste du", xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"N°Facture")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Resp.")
.Orientation = xlPageField
.Position = 1
End With
Range("A4").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client"). _
ShowDetail = False
Sheets("Base").Select
End Sub
Si quelqu'un à une solution...
Bonne soirée.
A voir également:
- Macro tableau croisé dynamique
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Tableau word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Tableau ascii - Guide
7 réponses
Il s'agit d'une version 2007. Je prépare le fichier pour vous le mettre à disposition.
Encore merci de votre aide
Encore merci de votre aide
Bonjour
Ce problème est peut-être dû à l'exécution multiple de votre macro de création dans le classeur.
Je vous propose de créer une feuille que vous momerez Tableau et sur laquelle vous ferez créer par la macro votre tableau.
voici le début de cette macro
' efface_feuille Macro
'
'
Sheets("tableau").Select
Cells.Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.ClearContents
Range("A1").Select
'création Tableau croisé
Sheets("tableau").Select
Cells(5, 1).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"table_article!R28C1:R230C8", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="tableau!R5C1", TableName:= _
"Tableau croisé dynamique2", defaultVersion:=xlPivotTableVersion10
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client" _
)
.Orientation = xlRowField
.Position = 1
End With
vous collerez ceci au début de votre macro actuelle et vous raccorderez à la ligne End With de client et après cela devrait fonctionner
Ce problème est peut-être dû à l'exécution multiple de votre macro de création dans le classeur.
Je vous propose de créer une feuille que vous momerez Tableau et sur laquelle vous ferez créer par la macro votre tableau.
voici le début de cette macro
' efface_feuille Macro
'
'
Sheets("tableau").Select
Cells.Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.ClearContents
Range("A1").Select
'création Tableau croisé
Sheets("tableau").Select
Cells(5, 1).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"table_article!R28C1:R230C8", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="tableau!R5C1", TableName:= _
"Tableau croisé dynamique2", defaultVersion:=xlPivotTableVersion10
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Client" _
)
.Orientation = xlRowField
.Position = 1
End With
vous collerez ceci au début de votre macro actuelle et vous raccorderez à la ligne End With de client et après cela devrait fonctionner
RE:
Noubliez pas de changer votre source remplacer "table_article R28C1:R230C8" ma table d'essai par votre source "Tableau1"
Noubliez pas de changer votre source remplacer "table_article R28C1:R230C8" ma table d'essai par votre source "Tableau1"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Philou.
Y'a rien à faire, j'ai toujours le même message d'erreur sur cette partie du code.
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"table_article!R28C1:R230C8", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="tableau!R5C1", TableName:= _
"Tableau croisé dynamique2", defaultVersion:=xlPivotTableVersion10
je ne sais pas comment mettre un fichier joint au topic, ça aurait peut être permis de voir le soucis.
Bonne journée
Y'a rien à faire, j'ai toujours le même message d'erreur sur cette partie du code.
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"table_article!R28C1:R230C8", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="tableau!R5C1", TableName:= _
"Tableau croisé dynamique2", defaultVersion:=xlPivotTableVersion10
je ne sais pas comment mettre un fichier joint au topic, ça aurait peut être permis de voir le soucis.
Bonne journée