oguruma
XLDnaute Impliqué
Bonjour le Forum,
Ayant eu besoin d'exporter une série de TCD dans le cadre d'un développement rapide autant en faire profiter le forum.
Pour le coup je ne publie pas de fichier, uniquement le code qu'il faudra insérer dans un de vos modules VBA.
Bon c'est du dév rapide.... à vous de le sécuriser ou de le rendre paramétrable selon vos besoins.
Pour les experts on peut affiner la présentation en ajoutant ce bout de code avant la phase d'exportation
Ayant eu besoin d'exporter une série de TCD dans le cadre d'un développement rapide autant en faire profiter le forum.
Pour le coup je ne publie pas de fichier, uniquement le code qu'il faudra insérer dans un de vos modules VBA.
Bon c'est du dév rapide.... à vous de le sécuriser ou de le rendre paramétrable selon vos besoins.
VB:
Sub ExporterTCDenPDF_TCD_BY_ETAB()
'************************************************************
'* Module rapide pour exporter un TCD au format PDF
'* AUTEUR : OGURUMA
'* DATE : 14/04/2026
'* Version : 1.0
'************************************************************
Dim oWs As Worksheet
Dim oTCD As PivotTable
Dim sNomFichier As String
'********************************************************************
' Définir la feuille et le TCD (à adapter selon vos noms)
' Deux méthodes rapides pour spécifier la feuille qui héberge le TCD
' ou le rendre paramétrable selon votre choix
'*********************************************************************
Set oWs = ThisWorkbook.Sheets("TCD")
'***********************************************************************************************************************************
' ==> Ici j'ai surchargé volontairement pour vous montrer les deux méthodes d'activation de la feuille qui héberge le TCD
' ==> A vous de choisir !
'***********************************************************************************************************************************
Set oWs = ActiveSheet
'**************************************************************************
'* ICI vous préciserez le nom du TCD à exporter
'* Le nom se trouve dans les propriétés du TCD sous EXCEL
'***************************************************************************
Set oTCD = oWs.PivotTables("TCD_BY_ETAB")
'******************************************************
' Définir le nom et le chemin du fichier PDF
' Chemin à définir selon votre environnement
' Par défaut emplacement du classeur EXCEL
'******************************************************
sNomFichier = ThisWorkbook.Path & "\MISSIONS\" & "Rapport_TCD.pdf"
'*****************************************************
' Exporter la plage occupée par le TCD en PDF
' Paramétrage minimal de la mise en page
'*****************************************************
oTCD.TableRange2.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sNomFichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'*********************************************
'* Où est publié le PDF pour information
'*********************************************
MsgBox "Le TCD a été exporté avec succès ici : " & sNomFichier
End Sub
Pour les experts on peut affiner la présentation en ajoutant ce bout de code avant la phase d'exportation
VB:
With oWs.PageSetup
.LeftHeader = ""
.CenterHeader = "Le titre de votre rapport"
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.Orientation = xlLandscape
.FirstPageNumber = xlAutomatic
'*****************************************
' à régler selon la taille de votre TCD
'*****************************************
.Zoom = 100
End With
Dernière édition: