Bonsoir,
Je cherche à lister tous les TCD d’un classeur, j’ai récupéré cette macro sur internet, malheureusement celle-ci ne semble pas fonctionner.
Elle crée bien une feuille, dans la mesure où je déclare en variable objNewSheet as Object, elle génère bien la ligne de titre mais elle ne me retourne aucune information.
Si quelqu’un à une idée.
Sub ListeTableauxCroisesDynamiques()
'par Excel-Malin.com ( http://excel-malin.com )
'déclaration des variables
Dim tcd As PivotTable
Dim CompteurFeuilles As Long
Dim CompteurLignes As Integer
Application.ScreenUpdating = False
'ajout d’une nouvelle feuille
Set objNewSheet = Worksheets.Add
objNewSheet.Activate
CompteurFeuilles = 2
CompteurLignes = 2
'prépare les titres
Range(« A1 »).Value = « Nom du tableau »
Range(« B1 »).Value = « Source des données »
Range(« C1 »).Value = « Feuille »
Range(« D1 »).Value = « Plage du tableau »
Range(« E1 »).Value = « Rafraîchi par »
Range(« F1 »).Value = « Rafraîchi le »
'extraît l’information sur les Tableau croisés dynamiques
Do While CompteurFeuilles <= Worksheets.Count
_ Sheets(CompteurFeuilles).Select_
_ For Each tcd In ActiveSheet.PivotTables_
_ objNewSheet.Cells(CompteurLignes, 1).Value = tcd.Name_
_ objNewSheet.Cells(CompteurLignes, 2).Value = tcd.SourceData_
_ objNewSheet.Cells(CompteurLignes, 3).Value = ActiveSheet.Name_
_ objNewSheet.Cells(CompteurLignes, 4).Value = tcd.TableRange1.Address_
_ objNewSheet.Cells(CompteurLignes, 5).Value = tcd.RefreshName_
_ objNewSheet.Cells(CompteurLignes, 6).Value = tcd.RefreshDate_
_ _
_ CompteurLignes = CompteurLignes + 1_
_ Next_
_ CompteurFeuilles = CompteurFeuilles + 1_
Loop
objNewSheet.Activate
Columns(« A:F »).EntireColumn.AutoFit 'adapte la largeur des colonnes
Application.ScreenUpdating = True
End Sub
Bonne soirée
Cordialement.