OVH Cloud OVH Cloud

Problème de pilote ODBC

16 réponses
Avatar
Thierry LOUCHET
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique qui
utilise des données stockées dans ma base ACCESS 2000.(En passant par source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui dispose de
ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée et
nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL dans le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai dans
un nouveau classeur de Excel de refaire le Tableau croisé dynamique, je n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry

10 réponses

1 2
Avatar
Pascal
Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le message
de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique qui
utilise des données stockées dans ma base ACCESS 2000.(En passant par
source

externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui dispose de
ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée et
nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour
rétablir

ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher
source

?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL dans
le

même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai dans
un nouveau classeur de Excel de refaire le Tableau croisé dynamique, je
n'ai

aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry





Avatar
Pierre CFI [mvp]
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news: #
Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le message
de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique qui
utilise des données stockées dans ma base ACCESS 2000.(En passant par
source

externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui dispose de
ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée et
nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour
rétablir

ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher
source

?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL dans
le

même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai dans
un nouveau classeur de Excel de refaire le Tableau croisé dynamique, je
n'ai

aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry









Avatar
Thierry LOUCHET
Non, pas sur les machines ùu cela ne marche pas.

Sur les machine où cela marche, effectivement j'ai cette demande.

Thierry
"Pascal" a écrit dans le message de
news:%
Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le message
de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier
EXCEL


2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique
qui


utilise des données stockées dans ma base ACCESS 2000.(En passant par
source

externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui dispose
de


ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors
quand


j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée
et


nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour
rétablir

ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher
source

?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL dans
le

même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai
dans


un nouveau classeur de Excel de refaire le Tableau croisé dynamique, je
n'ai

aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry









Avatar
Thierry LOUCHET
Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier
EXCEL



2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique
qui



utilise des données stockées dans ma base ACCESS 2000.(En passant par
source

externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors
quand



j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire
le



lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour
rétablir

ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher
source

?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL
dans



le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai
dans



un nouveau classeur de Excel de refaire le Tableau croisé dynamique,
je



n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry













Avatar
Pierre CFI [mvp]
arréte de poser la méme question sur les news excel et access , j'attrape le tournis et JPS va dire que je bois ..o:)))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le message de news:
Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un fichier
EXCEL



2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé dynamique
qui



utilise des données stockées dans ma base ACCESS 2000.(En passant par
source

externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows, alors
quand



j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de refaire
le



lien, j'ai aussi ces messages d'erreurs. Comment puis je faire pour
rétablir

ou refaire un lien ? Ou comment puis je trouver le chemin au ficiher
source

?

(J'ai biensur fait attention de copier les fichiers ACCESS et EXCEL
dans



le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs), j'essai
dans



un nouveau classeur de Excel de refaire le Tableau croisé dynamique,
je



n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry

















Avatar
Thierry LOUCHET
Je pose simplement les questions, sur les forums qui me paraissent
appropriés pour réussir à obtenir une réponse.

Est ce une faute ?

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:
arréte de poser la méme question sur les news excel et access , j'attrape
le tournis et JPS va dire que je bois ..o:)))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le message
de news:

Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un
fichier





EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé
dynamique





qui
utilise des données stockées dans ma base ACCESS 2000.(En passant
par





source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows,
alors





quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de
refaire





le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire
pour





rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au
ficiher





source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et
EXCEL





dans
le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs),
j'essai





dans
un nouveau classeur de Excel de refaire le Tableau croisé
dynamique,





je
n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry





















Avatar
Denis Michon
Bonjour Thierry,


As-tu trouvé une réponse satisfaisante ?



Salutations!



"Thierry LOUCHET" a écrit dans le message de
news:
Je pose simplement les questions, sur les forums qui me paraissent
appropriés pour réussir à obtenir une réponse.

Est ce une faute ?

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:
arréte de poser la méme question sur les news excel et access , j'attrape
le tournis et JPS va dire que je bois ..o:)))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le message
de news:

Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un
fichier





EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé
dynamique





qui
utilise des données stockées dans ma base ACCESS 2000.(En passant
par





source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows,
alors





quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de
refaire





le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire
pour





rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au
ficiher





source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et
EXCEL





dans
le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs),
j'essai





dans
un nouveau classeur de Excel de refaire le Tableau croisé
dynamique,





je
n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry





















Avatar
Thierry LOUCHET
Presque, on m'a aiguillé vers un DSN source de données fichier cela marche.

Mais, je voudrais aller plus loin.

Sur un exemple, je viens de créer le dsn, puis j'ai transféré sur la machine
où cela ne marchait pas.

Et c'est OK.


Maintenant, comment puis je modifier mon fichier Excel pour qu'il utilise le
dsn.
En effet, dans mon tableau croisé dynamique, si je demande à lire les
données il se produit toujours le message

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée

et je ne peux rien faire.

Suis je obliger de tout refaire ?

De même sur le fichier excel avec le dsn, là je peux changer la base si par
erreur je n'ai pas récréer la même structure c'est à dire le même dossier de
stockage. Sinon je ne peux pas.

Merci.

Thierry

"Denis Michon" a écrit dans le message de
news:Z%Srb.27869$

Bonjour Thierry,


As-tu trouvé une réponse satisfaisante ?



Salutations!



"Thierry LOUCHET" a écrit dans le message
de

news:
Je pose simplement les questions, sur les forums qui me paraissent
appropriés pour réussir à obtenir une réponse.

Est ce une faute ?

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:
arréte de poser la méme question sur les news excel et access ,
j'attrape


le tournis et JPS va dire que je bois ..o:)))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le
message


de news:
Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message
de



news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un
fichier





EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé
dynamique





qui
utilise des données stockées dans ma base ACCESS 2000.(En
passant






par
source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows,
alors





quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de
refaire





le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire
pour





rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au
ficiher





source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et
EXCEL





dans
le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs),
j'essai





dans
un nouveau classeur de Excel de refaire le Tableau croisé
dynamique,





je
n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry


























Avatar
Denis Michon
Bonjour Thierry,


Un fichier DSN sert à deux choses :
A ) Définir le fichier source des données
(chemin et le dit fichier)

B ) Définir le pilote associé au type de fichier
de ta source de données.

Il est habituellement stocké dans le répertoire suivant:
C:Program FilesFichiers communsODBCData Sources

Si tu veux tu peux facilement le créer par programmation
puiqu'il ne s'agit que d'un vulgaire fichier texte éditable avec
par exemple NotePad.exe ...

L'avantage de ce fichier dsn... il peut être facilement copié
sur un serveur réseau (ordinateur) et être ainsi disponible
à plusieurs utilisateurs qui pourront à leur tour définir
localement des requêtes....

Contenu d'un fichier .DSN

[ODBC]
DBQ=C:excelComptoir.mdb
DefaultDir=C:excel
Driver={Driver do Microsoft Access (*.mdb)}
DriverId%
FIL=MS Access
MaxBufferSize 48
MaxScanRows=8
PageTimeout=5
SafeTransactions=0
Threads=3
UserCommitSync=Yes
[Microsoft Office]
DefaultTable=Employés

Ce qu'il faut aussi savoir c'est lorsque ta requête dans excel a été exécuté et que le fichier a été enregistré, ce
fichier DSN, n'est plus relié au QueryTable de ton fichier excel. Excel a enregistré ces informations dans le classeur
lui-même. Toutes les modifications faites au fichier DSN n'aura aucune incidence sur les fichiers déjà réalisés avec ce
dernier, seuls, les nouveaux en seront affectés.

Il y a deux "Propriétés essentielles" à un objet "ObjetQuery" :

A ) Connection : C'est une chaîne de caractères chargée d'établir (ouvrir) la connection entre la base des données à
l'aide du pilote que l'on a choisi (Access, Oracle, Excel, Sql ...) lors de l'élaboration du QueryTable.

B ) CommandText : C'est en fait une chaîne de caractères représentant la requête que l'on a créé lorsque la fenêtre de
Query était ouverte.

Lorsque le classeur possède des TableQuery déjà enregistré, et , que l'on décide de modifier le nom du Fichier source
des données, il faut obligatoirement modifier les 2 chaînes de texte nommées précédemment pour que la TableQuery
retrouve sa fonctionnalité. Et comme ces données ne sont pas visibles dans une cellule, on peut les retrouver à l'aide
d'une procédure.

Voici une macro qui devrait faire le travail pour toutes les "QueryTable" contenus dans un classeur. Évidemment cela
suppose que les données proviennent de la même base de données source.

N.B. Je n'ai pas testé cette procédure expressément...Donc prudence ! (sauvegarde au préalable)
Pour ceux qui ont une version antérieure à Excel 2000, ils doivent utiliser "Application.Substitute(...) en lieu
et place de la fonction "Replace()"; Cette dernière n'étant pas disponible.

'-------------------------------------------
Sub Query_Et_NomFichierModifie()

Dim OldName As String, NewName As String
Dim Sh As Worksheet, Qt As QueryTable

' À saisir manuellement si nécessaire...
OldName = ThisWorkbook.FullName
NewName = "DTotoMonFichierQuery.xls"

For Each Sh In Worksheets
For Each Qt In Sh.QueryTables
If InStr(Qt.Connection, OldName) > 0 Then
Qt.Connection = Replace(Qt.Connection, _
OldName, NewName)
Qt.CommandText = Replace(Qt.CommandText, _
Left(OldName, Len(OldName) - 4), _
Left(NewName, Len(NewName) - 3))
Qt.Refresh False
End If
Next
Next
'Sauvegarde du fichier
ThisWorkbook.Save
Set Sh = Nothing: Set Qt = Nothing

End Sub
'-------------------------------------------


Si tu veux voir dans une cellule la chaîne de "Connection"
et la chaîne de "CommandText" d'un objet Query dans
une feuille nommée "Toto" dans mon exemple :

With Worksheets("Feuil1")
.Range("A1") = Worksheets("Toto").QueryTables(1).Connection
.Range("A5") = Worksheets("Toto").QueryTables(1).CommandText
End With

Une chaîne de connection créé à partir d'un fichier DSN ressemble à ceci :

ODBC;DBQ=C:excelComptoir.mdb;DefaultDir=C:excel;Driver={Driver do Microsoft Access (*.mdb)};DriverId%;FIL=MS
Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID­min;UserCommitSync=Yes;

Une chaîne de connnection sans l'utilisation d'un fichier DSN
ODBC;DSN=MS Access Database;DBQ=c:Mes documentsComptoir.mdb;DefaultDir=C:Mes
documents;DriverId(1;Exclusive=1;FIL=MSAccess;MaxBufferSize 48;PageTimeout=5;ReadOnly=0;UID­min;

Une Chaîne de "CommandText" ressemble à ceci :
SELECT Fournisseurs.Société, Fournisseurs.Adresse, Fournisseurs.Ville, Fournisseurs.Pays
FROM `C:ODBCbernard 2Comptoir`.Fournisseurs Fournisseurs

Observe dans les 2 cas, on retrouve le chemin complet du fichier source de la requête. Si l'on doit changer son nom, il
est normal que la mise à jour du querytable n'arrive pas à retrouver le fichier contenant les données source.

La procédure donnée dans ce message n'a que pour but de substituer la partie de la chaîne qui a été modifiée. C'est le
même principe que de substituer une section d'une chaîne de caractères dans une cellule avec une formule.


Salutations!





"Thierry LOUCHET" a écrit dans le message de
news:
Presque, on m'a aiguillé vers un DSN source de données fichier cela marche.

Mais, je voudrais aller plus loin.

Sur un exemple, je viens de créer le dsn, puis j'ai transféré sur la machine
où cela ne marchait pas.

Et c'est OK.


Maintenant, comment puis je modifier mon fichier Excel pour qu'il utilise le
dsn.
En effet, dans mon tableau croisé dynamique, si je demande à lire les
données il se produit toujours le message

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée

et je ne peux rien faire.

Suis je obliger de tout refaire ?

De même sur le fichier excel avec le dsn, là je peux changer la base si par
erreur je n'ai pas récréer la même structure c'est à dire le même dossier de
stockage. Sinon je ne peux pas.

Merci.

Thierry

"Denis Michon" a écrit dans le message de
news:Z%Srb.27869$

Bonjour Thierry,


As-tu trouvé une réponse satisfaisante ?



Salutations!



"Thierry LOUCHET" a écrit dans le message
de

news:
Je pose simplement les questions, sur les forums qui me paraissent
appropriés pour réussir à obtenir une réponse.

Est ce une faute ?

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:
arréte de poser la méme question sur les news excel et access ,
j'attrape


le tournis et JPS va dire que je bois ..o:)))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le
message


de news:
Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le message
de



news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans le
message


de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un
fichier





EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé
dynamique





qui
utilise des données stockées dans ma base ACCESS 2000.(En
passant






par
source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine qui
dispose de



ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows,
alors





quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non
trouvée et



nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de
refaire





le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire
pour





rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au
ficiher





source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et
EXCEL





dans
le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs),
j'essai





dans
un nouveau classeur de Excel de refaire le Tableau croisé
dynamique,





je
n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry


























Avatar
Thierry LOUCHET
Merci pour toutes ces informations.

Je vais essayé de mettre en pratique.

Thierry
"Denis Michon" a écrit dans le message de
news:afrsb.28765$
Bonjour Thierry,


Un fichier DSN sert à deux choses :
A ) Définir le fichier source des données
(chemin et le dit fichier)

B ) Définir le pilote associé au type de fichier
de ta source de données.

Il est habituellement stocké dans le répertoire suivant:
C:Program FilesFichiers communsODBCData Sources

Si tu veux tu peux facilement le créer par programmation
puiqu'il ne s'agit que d'un vulgaire fichier texte éditable avec
par exemple NotePad.exe ...

L'avantage de ce fichier dsn... il peut être facilement copié
sur un serveur réseau (ordinateur) et être ainsi disponible
à plusieurs utilisateurs qui pourront à leur tour définir
localement des requêtes....

Contenu d'un fichier .DSN

[ODBC]
DBQ=C:excelComptoir.mdb
DefaultDir=C:excel
Driver={Driver do Microsoft Access (*.mdb)}
DriverId%
FIL=MS Access
MaxBufferSize 48
MaxScanRows=8
PageTimeout=5
SafeTransactions=0
Threads=3
UserCommitSync=Yes
[Microsoft Office]
DefaultTable=Employés

Ce qu'il faut aussi savoir c'est lorsque ta requête dans excel a été
exécuté et que le fichier a été enregistré, ce

fichier DSN, n'est plus relié au QueryTable de ton fichier excel. Excel a
enregistré ces informations dans le classeur

lui-même. Toutes les modifications faites au fichier DSN n'aura aucune
incidence sur les fichiers déjà réalisés avec ce

dernier, seuls, les nouveaux en seront affectés.

Il y a deux "Propriétés essentielles" à un objet "ObjetQuery" :

A ) Connection : C'est une chaîne de caractères chargée d'établir (ouvrir)
la connection entre la base des données à

l'aide du pilote que l'on a choisi (Access, Oracle, Excel, Sql ...) lors
de l'élaboration du QueryTable.


B ) CommandText : C'est en fait une chaîne de caractères représentant la
requête que l'on a créé lorsque la fenêtre de

Query était ouverte.

Lorsque le classeur possède des TableQuery déjà enregistré, et , que l'on
décide de modifier le nom du Fichier source

des données, il faut obligatoirement modifier les 2 chaînes de texte
nommées précédemment pour que la TableQuery

retrouve sa fonctionnalité. Et comme ces données ne sont pas visibles dans
une cellule, on peut les retrouver à l'aide

d'une procédure.

Voici une macro qui devrait faire le travail pour toutes les "QueryTable"
contenus dans un classeur. Évidemment cela

suppose que les données proviennent de la même base de données source.

N.B. Je n'ai pas testé cette procédure expressément...Donc prudence !
(sauvegarde au préalable)

Pour ceux qui ont une version antérieure à Excel 2000, ils doivent
utiliser "Application.Substitute(...) en lieu

et place de la fonction "Replace()"; Cette dernière n'étant pas
disponible.


'-------------------------------------------
Sub Query_Et_NomFichierModifie()

Dim OldName As String, NewName As String
Dim Sh As Worksheet, Qt As QueryTable

' À saisir manuellement si nécessaire...
OldName = ThisWorkbook.FullName
NewName = "DTotoMonFichierQuery.xls"

For Each Sh In Worksheets
For Each Qt In Sh.QueryTables
If InStr(Qt.Connection, OldName) > 0 Then
Qt.Connection = Replace(Qt.Connection, _
OldName, NewName)
Qt.CommandText = Replace(Qt.CommandText, _
Left(OldName, Len(OldName) - 4), _
Left(NewName, Len(NewName) - 3))
Qt.Refresh False
End If
Next
Next
'Sauvegarde du fichier
ThisWorkbook.Save
Set Sh = Nothing: Set Qt = Nothing

End Sub
'-------------------------------------------


Si tu veux voir dans une cellule la chaîne de "Connection"
et la chaîne de "CommandText" d'un objet Query dans
une feuille nommée "Toto" dans mon exemple :

With Worksheets("Feuil1")
.Range("A1") = Worksheets("Toto").QueryTables(1).Connection
.Range("A5") = Worksheets("Toto").QueryTables(1).CommandText
End With

Une chaîne de connection créé à partir d'un fichier DSN ressemble à ceci :

ODBC;DBQ=C:excelComptoir.mdb;DefaultDir=C:excel;Driver={Driver do
Microsoft Access (*.mdb)};DriverId%;FIL=MS


Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Thr

eads=3;UID­min;UserCommitSync=Yes;

Une chaîne de connnection sans l'utilisation d'un fichier DSN
ODBC;DSN=MS Access Database;DBQ=c:Mes
documentsComptoir.mdb;DefaultDir=C:Mes


documents;DriverId(1;Exclusive=1;FIL=MSAccess;MaxBufferSize 48;PageTime

out=5;ReadOnly=0;UID­min;

Une Chaîne de "CommandText" ressemble à ceci :
SELECT Fournisseurs.Société, Fournisseurs.Adresse,
Fournisseurs.Ville, Fournisseurs.Pays

FROM `C:ODBCbernard 2Comptoir`.Fournisseurs Fournisseurs

Observe dans les 2 cas, on retrouve le chemin complet du fichier source de
la requête. Si l'on doit changer son nom, il

est normal que la mise à jour du querytable n'arrive pas à retrouver le
fichier contenant les données source.


La procédure donnée dans ce message n'a que pour but de substituer la
partie de la chaîne qui a été modifiée. C'est le

même principe que de substituer une section d'une chaîne de caractères
dans une cellule avec une formule.



Salutations!





"Thierry LOUCHET" a écrit dans le message
de

news:
Presque, on m'a aiguillé vers un DSN source de données fichier cela
marche.


Mais, je voudrais aller plus loin.

Sur un exemple, je viens de créer le dsn, puis j'ai transféré sur la
machine

où cela ne marchait pas.

Et c'est OK.


Maintenant, comment puis je modifier mon fichier Excel pour qu'il utilise
le

dsn.
En effet, dans mon tableau croisé dynamique, si je demande à lire les
données il se produit toujours le message

[Microsoft] [Gestionnaire de Pilote ODBC] source de données non trouvée

et je ne peux rien faire.

Suis je obliger de tout refaire ?

De même sur le fichier excel avec le dsn, là je peux changer la base si
par

erreur je n'ai pas récréer la même structure c'est à dire le même dossier
de

stockage. Sinon je ne peux pas.

Merci.

Thierry

"Denis Michon" a écrit dans le message de
news:Z%Srb.27869$

Bonjour Thierry,


As-tu trouvé une réponse satisfaisante ?



Salutations!



"Thierry LOUCHET" a écrit dans le
message


de
news:
Je pose simplement les questions, sur les forums qui me paraissent
appropriés pour réussir à obtenir une réponse.

Est ce une faute ?

Thierry
"Pierre CFI [mvp]" a écrit dans le message de
news:
arréte de poser la méme question sur les news excel et access ,
j'attrape


le tournis et JPS va dire que je bois ..o:)))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Thierry LOUCHET" a écrit dans le
message


de news:
Merci pour ta réponse.

Je n'ai jamais fait cela, peut tu me donner plus de détails.

Thierry
"Pierre CFI [mvp]" a écrit dans le
message




de
news:ejX4$
bonjour
tu as pris l'option par défaut d'un fichier odbc sur machine
il faut faire un fichier dsn, que tu mettraq sur l'autre machine

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Pascal" a écrit dans le message de news:
#

Salut,
Normalement il te demande un login et un Pass Non?
"Thierry LOUCHET" a écrit dans
le






message
de news: #
Bonjour,

J'ai créé sur un poste de travail une base ACCESS 2000 et un
fichier





EXCEL
2000.
Dans le fichier EXCEL 2000, j'ai construit un tableau croisé
dynamique





qui
utilise des données stockées dans ma base ACCESS 2000.(En
passant






par
source
externe au niveau de la création de Tableau croisé dynamique)

Quand je transfére ces deux fichiers, sur une autre machine
qui







dispose de
ACCESS 2000 et EXCEL 2000 mais pas forcément le même Windows,
alors





quand
j'ouvre le fichier Excel, j'obtiens les messages suivants :

[Microsoft] [Gestionnaire de Pilote ODBC] source de données
non







trouvée et
nom de pilote non spécifié.

Des problèmes sont apparus durant l'obtention des données.

Si je vais dans le tableau croisé dynamique et que j'essai de
refaire





le
lien, j'ai aussi ces messages d'erreurs. Comment puis je faire
pour





rétablir
ou refaire un lien ? Ou comment puis je trouver le chemin au
ficiher





source
?

(J'ai biensur fait attention de copier les fichiers ACCESS et
EXCEL





dans
le
même dossier que la machine où ils ont été créé).

Je précise aussi que si (sur la machine où j'ai les erreurs),
j'essai





dans
un nouveau classeur de Excel de refaire le Tableau croisé
dynamique,





je
n'ai
aucun problème.

Merci si vous pouvez m'éclairer sur ces problèmes.


Thierry































1 2