TCD pivotTable ADODB Access
d
Bonjour à tous,
Dans un premier module j'ai
Public Const ADODB_PROVIDER = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;"
Public Const PATH_DB = "E:\BkUpData\Projets\Access\test.accdb"
Dans un module j'ai cette fonction qui crée une connexion. Petite particularité le commandText et CmdType sont déjà renseignés
Public Function fWkBookCnxAdd()
Dim objWBConnect As WorkbookConnection
Set objWBConnect = ThisWorkbook.Connections.Add( _
Name:="tcd", Description:="", _
ConnectionString:=ADODB_PROVIDER & _
"Data Source=" & PATH_DB, _
CommandText:="SELECT * FROM qryFactureSumMonthYear", _
lCmdtype:=xlCmdSql)
End Function
Dans un onglet j'ai ajouté un bouton et sur l'événement click, j'ai une erreur sur
Set oPtTable = oPivotCache.CreatePivotTable
Private Sub cmdTcd_Click()
Dim oPivotCache As PivotCache
Dim oPtTable As PivotTable
ActiveSheet.Range("A3").CurrentRegion.Clear ' --> suppression du TCD
' Create a PivotTable cache
Set oPivotCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal, _
SourceData:=ThisWorkbook.Connections("tcd")) ' ---> Pas d'erreur
' Create a tcd.
Set oPtTable = oPivotCache.CreatePivotTable( _
TableDestination:=Range("A3"), _
TableName:="tcd") ' ---> Erreur d'exécution 1004 - Erreur définie par l'application ou par l'objet
With ActiveSheet.PivotTables("tcd")
.SmallGrid = False
.AddFields _
RowFields:="idfacture", _
RowFields:="libelle", _
ColumnFields:="PeriodemontYear"
.adddatafields _
Field:=oPtTable.PivotFields("montant")
End With
End Sub
Merci pour votre aide