Help Macro Tableau croisé Dinamique !!

Fermé
wsanchez Messages postés 1 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 7 juin 2009 - 7 juin 2009 à 19:39
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 7 juin 2009 à 22:27
Bonjour,

Il y a qq’un qui pourrait m’aider. J’arrive pas a faire un macro d’un tableau croisé dynamique en excel !!
Je dois vous avouer que j’apprend à utiliser les macros .. j’ai déjà fait un mais très simple.. voilà
Sinon par rapport la macro d’un TCD, j’ai eu le suivant message « Erreur d’exécution 5, argument ou appel de procédure incorrect »
Merci pour m’aide !!

Voici VB de la macro :

Sub Macro5()
'
' Macro5 Macro
'

'
Range("A1:A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1 (2)!A1:C6", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil12!A1:C6", TableName:="Tableau croisé dynamique4", _
DefaultVersion:=xlPivotTableVersion13
Sheets("Feuil12").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Base")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Numero")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Calificacion")
.Orientation = xlRowField
.Position = 2
End With
End Sub
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
7 juin 2009 à 22:27
bonjour

Je te propose de modifier ainsi ta macro pour tenir compte de ta sélection et éviter une erreur à la seconde exécution
Sub Macro5()
'
' Macro5 Macro
'
Range("A1:A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
On Error Resume Next
Sheets.Add.Name = "Feuil12"
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Selection).CreatePivotTable TableDestination:= _
        "Feuil12!R3C1", TableName:="Tableau croisé dynamique4", _
        DefaultVersion:=xlPivotTableVersion10
Sheets("Feuil12").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Base")
    .Orientation = xlColumnField
    .Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Numero")
    .Orientation = xlRowField
    .Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
"Calificacion")
    .Orientation = xlRowField
    .Position = 2
End With
End Sub

ps : J'aime bien la "Calificacion" que je découvre :)
0