tableau croisé dynamique

  • Initiateur de la discussion Initiateur de la discussion fred43
  • 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 !

fred43

XLDnaute Nouveau
Bonjour,
J'ai un petit souci, je souhaiterai pouvoir automatisé la création d'un tableau croisé dynamique avec VB, j'ai enregistré une macro qui crée ce fameux tableau, et j'ai modifié les variable de cette macro afin de pouvoir l'utiliser dans plusieurs cas différents. Le code modifié donne ca:
Code:
    i = 6
    While Not IsEmpty(Cells(i, 1))
    i = i + 1
    Wend

    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="'" & Sheets(ComboPièce).Activate & "'!" & Range(Cells(6, 1), Cells(i - 1, 13))).CreatePivotTable TableDestination:="'[Chiffrage.xls]" & Sheets(ComboPièce).Activate & "'!" & Cells(6, 16), TableName:="Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.SmallScroll Down:=-9
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Code")
        .Orientation = xlPageField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Marge T."), "Nombre de Marge T.", xlSum
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Prix net HT"), "Nombre de Prix net HT", xlSum
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("PTHT"), "Nombre de PTHT", xlSum
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Type")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
Lorsque je lance le programme, une erreur surgit de cette ligne
Code:
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="'" & Sheets(ComboPièce).Activate & "'!" & Range(Cells(6, 1), Cells(i - 1, 13))).CreatePivotTable TableDestination:="'[Chiffrage.xls]" & Sheets(ComboPièce).Activate & "'!" & Cells(6, 16), TableName:="Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
je gratte depuis hier dessus, et j'ai toujours pas compris l'erreur, si quelqu'un pouvait m'aider ça serait sympa, merci.
 
Re : tableau croisé dynamique

Bonjour fred43,

à tester :

Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "'ComboPièce'!" & Range(Cells(6, 1), Cells(i - 1, 13)).Address).CreatePivotTable _
        TableDestination:="[Chiffrage.xls]ComboPièce!R6C16", _ 
        TableName:="Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
 
- 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

Réponses
1
Affichages
708
Retour