Excel en lecture seule et requête Microsoft Query / ADO

J'ai développé un Workbook Excel 2007/2010 qui importe des données (renvoyées par des procédures stockées de SqlServer via VBA AND ADO) dans plusieurs Tableaux Excel d'une feuille de calcul appelée "Données" de mon WorkBook. J'utilise ensuite ADO (la connection pointant vers le classur lui-même) pour récupérer datatables dans d'autres feuilles de calcul. J'aime cette couche ADO car elle me permet de séparer clairement le Data Access Layer (la Data Worksheet) et l'application (toutes les autres feuilles de calcul). Les arrays croisés dynamics ne sont pas une option dans mon cas car j'ai besoin d'append des formules aux données récupérées. Voici comment configurer la string de connection pour mon WorkBook

Private Function GetThisWorkbookCN() As Ssortingng Dim fileFullPath As Ssortingng fileFullPath = ThisWorkbook.FullName GetThisWorkbookCN = "DSN=Excel Files;DBQ=" & fileFullPath End Function 

Mon problème est que tout fonctionne correctement tant que le classur n'est pas en lecture seule: dans ce cas, la connection pointe vers le classur enregistré et non vers le file ouvert. Pensez-vous qu'il est possible de configurer la connection pour get datatables du file ouvert? Actuellement, je force chaque user à save localement chaque version du classur, mais je voudrais éviter cela.

EDIT: Remou suggéré, comme une solution de contournement, pour save datatables dans un file local (CSV ou d'autres formats) et utiliser ADO à ce file et pas au classur lui-même. Cela évite le problème de maintenance car le file principal peut être ouvert en mode lecture seule.