Macro et source de données pour un TCD
Bonjour,
Je souhaiterais créer une ou plusieurs macro qui fonctionnerais de la manière suivant :
Lors de l'ouverture du classeur , il me demande de choisir un fichier.
Une fois que le fichier est choisi, je voudrais que la 1er feuille soit la source de données de mon TCD.
Le problème est que je n'arrive pas a choisir ma feuille comme source de données.
Le fichier sera toujours du même format et il contient le même nom et nombre de colonne.
La sélection de fichier marche mais j'ai une erreur lors de la création du TCD : "Incompatibilité de type"
Voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Dim fichier_source As Workbook
Dim plage As Range
Dim classeur As Workbook
Dim nom As String
Set classeur = ThisWorkbook
xls = Application.GetOpenFilename("Excel files (*.xlsx), *.xlsx", , "Choisir le fichier source.")
If xls <> False Then
Set fichier_source = Application.Workbooks.Open(xls)
nom = fichier_source.Name
fichier_source.Activate
Sheets(1).Activate
Dim dl As Long, dc As Long
dl = ActiveSheet.Range("a" & Rows.Count).End(xlUp).Row
dc = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
'Set plage = ActiveSheet.Range(Cells(1, 1), Cells(dl, dc))
Set plage = ActiveSheet.Range(Cells(1, 1), Cells(dl, dc))
classeur.Activate
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"[" + nom + "]" + plage, Version:=6). _
CreatePivotTable TableDestination:="Feuil1!R1C1", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=6
Sheets("Feuil1").Select
Cells(1, 1).Select
fichier_source.Activate
ActiveWorkbook.Close False
End If |