Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
renvoie un objet PivotCache non encore connecté à une source de données.
En particulier, son attribut Connection est inaccessible en lecture. Essayer d'y accéder entraine l'erreur "Not an ODBC Data Source Or Web Query", que tu as expérimentée.
L'attribut Connection n'est accessible, à ce moment, qu'en écriture, à condition de rentrer une chaîne de connection valide. La connection n'est pas réellement établie à ce moment, mais la syntaxe doit être correcte sous peine d'un message d'erreur.
Lorsque tu écris :
Code:
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal).Connection = "chaîne de connection"
tu accèdes à l'attribut Connection en lecture, à cause de l'instruction With.
En effet, WithExpression = "...", met Expression "à disposition" dans la suite du code (jusqu'à l'instruction End With de fermeture), et dans un deuxième temps, affecte la valeur "..." à Expression.
Remarque néanmoins que l'instruction "WithExpression" ne fonctionne que si Expression est un Objet. Si, comme dans notre cas, Expression est un Variant(/String), le (pseudo) compilateur autorisera le déroulement du code, car un Variant peut contenir un objet, mais c'est un non sens, car le but du With est d'accéder rapidement aux méthodes et attributs de Expression, pas à Expression elle même ...
La syntaxe correcte la plus simple est :
Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal).Connection = "chaine de connection"
Ou bien :
Code:
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
.Connection = "chaine de connection"
...
End With
De manière à pouvoir accéder aux attributs/méthodes de l'objet PivotCache nouvellement créé.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.