Bonsoir,
 
On m'a récemment confié une mission que mon statut d'ignare en programmation m'empêche de mener à bien.
Voilà pourquoi je sollicite votre aide.
 
Je dois réaliser une macro qui permettrait de créer rapidement un tableau croisé dynamique à partir d'une base de donnée.
Seulement voilà, une fois terminé, mon résultat est apparemment bourré de fautes, sans que je comprenne lesquelles.
 
Sub Macro2()
 
 Range("A1:S1742" ).Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "'ActiveSheet!R1C1:R1742C19" ).CreatePivotTable TableDestination:="", _
        TableName:="TCD1"
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).AddFields RowFields:= _
        Array("Commande                   ", "Fournisseur                ", _
        "Etat                       ", "Données" )
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Qté                        " )
        .Orientation = xlDataField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Qté reste                  " )
        .Orientation = xlDataField
        .Position = 2
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Qté recue                  " ).Orientation = xlDataField
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotSelect "", _
        xlDataAndLabel, True
    Range("A3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Commande                   " ).Orientation = xlHidden
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotSelect "", _
        xlDataAndLabel, True
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).Format xlTable8
    Range("B3" ).Select
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Fournisseur                " )
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Commande                   " )
        .Orientation = xlRowField
        .Position = 2
    End With
    Range("C3" ).Select
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Affaire                    " )
        .Orientation = xlRowField
        .Position = 4
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Marque                     " )
        .Orientation = xlRowField
        .Position = 5
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Modèle                     " )
        .Orientation = xlRowField
        .Position = 6
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Libellé                    " )
        .Orientation = xlRowField
        .Position = 7
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
    Range("A3:J2850" ).Select
    Range("C3" ).Activate
    With Selection.Font
        .Name = "Arial"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
    End With
    Range("C3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Etat                       " ).Subtotals = Array(False, False, False, False, False, _
        False, False, False, False, False, False, False)
    Range("D3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Affaire                    " ).Subtotals = Array(False, False, False, False, False, _
        False, False, False, False, False, False, False)
    Range("E3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Marque                     " ).Subtotals = Array(False, False, False, False, False, _
        False, False, False, False, False, False, False)
    Range("F3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Modèle                     " ).Subtotals = Array(False, False, False, False, False, _
        False, False, False, False, False, False, False)
    Rows("3:3" ).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = True
        .AddIndent = False
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("A3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Fournisseur                " ).Caption = "Supplier"
    Range("B3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Commande                   " ).Caption = "Cmde"
    Range("D3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Affaire                    " ).Caption = "Affaire"
    Range("E3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Marque                     " ).Caption = "Mrq"
    Range("F3" ).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
        "Modèle                     " ).Caption = "Mod"
    Columns("A:A" ).Select
    Columns("A:A" ).EntireColumn.AutoFit
    Columns("B:B" ).ColumnWidth = 19.14
    Columns("B:B" ).EntireColumn.AutoFit
    Columns("C:C" ).EntireColumn.AutoFit
    Columns("D:D" ).ColumnWidth = 20
    Columns("D:D" ).EntireColumn.AutoFit
    Columns("E:E" ).EntireColumn.AutoFit
    Columns("F:F" ).EntireColumn.AutoFit
    Cells.Select
    With Selection.Font
        .Name = "Arial"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
    End With
    Range("E3" ).Select
    Columns("E:E" ).ColumnWidth = 5.29
    Columns("F:F" ).ColumnWidth = 5.14
    Columns("D:D" ).EntireColumn.AutoFit
    Columns("C:C" ).ColumnWidth = 6.43
    Columns("B:B" ).ColumnWidth = 7.43
    Range("A3:J1910" ).Select
    Range("E3" ).Activate
    Selection.Copy
    Sheets.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Columns("A:A" ).ColumnWidth = 8.57
    Rows("1:1" ).RowHeight = 45
    Columns("B:B" ).ColumnWidth = 6.29
    Columns("C:C" ).ColumnWidth = 6.71
    Columns("D:D" ).EntireColumn.AutoFit
    Columns("E:E" ).ColumnWidth = 5.71
    Columns("F:F" ).ColumnWidth = 5.71
    Columns("G:G" ).EntireColumn.AutoFit
    Columns("H:J" ).Select
    Range("J1" ).Activate
    Selection.ColumnWidth = 7.57
    Rows("2:2" ).Select
    ActiveWindow.FreezePanes = True
End Sub
 
 
Mes fautes sont si atroces ? :-/