bouclesdor
XLDnaute Occasionnel
Bonjour à tous,
Après de nombreuses recherches sur internet pour trouver un code VBA pour faire un tableau dynamique croisé avec plusieurs critères, j'ai trouvé un code que j'ai adapté à mon fichier. Jusque là tout allait bien.
J'ai fait plusieurs TDC dans plusieurs onglets car j'analyse mon fichier des ventes selon les années, selon les pays, etc... dans tous mes onglets qui contiennent des TDC j'ai un bouton qui me sert de Reestablish Connection et j'ai le code suivant qui y est rattaché: (je présice que je ne suis pas la pro des codes et pour ce code j'arrive pas a comprendre ce qu'il fait...)
Sub ReestablishConnection_produits()
Dim strFile As String
Dim strPath As String
Dim strCon As String
With ThisWorkbook
strPath = .Path
strFile = .FullName
strCon = _
"ODBC;" & _
"DSN=Excel Files;" & _
"DBQ=" & strFile & ";" & _
"DefaultDir=" & strPath & ";" & _
"DriverId=790;" & _
"MaxBufferSize=2048;" & _
"PageTimeout=5"
With .Worksheets("produits$")
If .PivotTables.Count > 0 Then .PivotTables(PIVOTNAME).PivotCache.Connection = strCon
End With
End With
End Sub
Lorsque j'ouvre mon fichier excel, j'ai un code d'erreur
" Run time error 1004
The connection for this pivot table has been deleted"
Et lorsque je fais debug la partie du code VBA qui vient en jaune est:
If .PivotTables.Count > 0 Then .PivotTables(PIVOTNAME).PivotCache.Connection = strCon
Je sais que vous aimez travailler avec un fichier mais comme se sont des infos confidentielle je ne peux mettre le fichier alors j'espère qu'avec ses informations vous pourrez m'aider ou me mettre sur une piste de quoi faire pour résoudre mon problème. J'ai inscrit ce code VBA parce qu'il était dans le fichier d'exemple qu ej'ai trouvé sur internet mais j'arrive pas à comprendre à quoi il sert alors peut-etre que c'est un problème vraiment niaiseux mais pour moi la débutante il est insurmontable... alors je fais appel à vous...
Merci à l'avance et si vous avez des questions n'hésitez pas je vais vous répondre du mieux que je peux car je veux résoudre se problème.
Bouclesdor
Après de nombreuses recherches sur internet pour trouver un code VBA pour faire un tableau dynamique croisé avec plusieurs critères, j'ai trouvé un code que j'ai adapté à mon fichier. Jusque là tout allait bien.
J'ai fait plusieurs TDC dans plusieurs onglets car j'analyse mon fichier des ventes selon les années, selon les pays, etc... dans tous mes onglets qui contiennent des TDC j'ai un bouton qui me sert de Reestablish Connection et j'ai le code suivant qui y est rattaché: (je présice que je ne suis pas la pro des codes et pour ce code j'arrive pas a comprendre ce qu'il fait...)
Sub ReestablishConnection_produits()
Dim strFile As String
Dim strPath As String
Dim strCon As String
With ThisWorkbook
strPath = .Path
strFile = .FullName
strCon = _
"ODBC;" & _
"DSN=Excel Files;" & _
"DBQ=" & strFile & ";" & _
"DefaultDir=" & strPath & ";" & _
"DriverId=790;" & _
"MaxBufferSize=2048;" & _
"PageTimeout=5"
With .Worksheets("produits$")
If .PivotTables.Count > 0 Then .PivotTables(PIVOTNAME).PivotCache.Connection = strCon
End With
End With
End Sub
Lorsque j'ouvre mon fichier excel, j'ai un code d'erreur
" Run time error 1004
The connection for this pivot table has been deleted"
Et lorsque je fais debug la partie du code VBA qui vient en jaune est:
If .PivotTables.Count > 0 Then .PivotTables(PIVOTNAME).PivotCache.Connection = strCon
Je sais que vous aimez travailler avec un fichier mais comme se sont des infos confidentielle je ne peux mettre le fichier alors j'espère qu'avec ses informations vous pourrez m'aider ou me mettre sur une piste de quoi faire pour résoudre mon problème. J'ai inscrit ce code VBA parce qu'il était dans le fichier d'exemple qu ej'ai trouvé sur internet mais j'arrive pas à comprendre à quoi il sert alors peut-etre que c'est un problème vraiment niaiseux mais pour moi la débutante il est insurmontable... alors je fais appel à vous...
Merci à l'avance et si vous avez des questions n'hésitez pas je vais vous répondre du mieux que je peux car je veux résoudre se problème.
Bouclesdor