Codification fournisseur jet sous Excel 2010

Nousson

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier excel qui liste des données contenues dans d'autres fichiers excel. Une macro va chercher ces données (toujours aux mêmes adresses) dans des fichiers fermés. Tant que tout se passait dans Excel 2003, il n'y avait pas de problème.
Or depuis quelques temps, certains fichiers "sources de données" sont générés par Excel 2010, et dans ce cas, ma macro ne fonctionne plus.
Je pense que la connexion via le fournisseur jet (ci-dessous) n'est plus bonne (où "Fichier" est le nom du chemin complet) :

Source.Open "Provider=Microsoft.Jet.OLEDB.4.0 data source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"

En cherchant un peu sur les forums, j'ai trouvé que pour Excel 2007, il fallait remplacer "OLEDB.4" par OLEBD.12" et "Excel 8" par "Excel 12", ce que j'ai fait, mais j'ai alors un message d'erreur 3706 "Impossible de trouver le fournisseur, il est peut-être mal installé".

Ma question est : faut-il que j'installe un autre fournisseur ?
Si oui comment faire, et est-ce que ma macro fonctionnera toujours avec les fichiers créés sous Excel 2003 ?

J'espère avoir été clair.
Merci pour votre aide.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Codification fournisseur jet sous Excel 2010

Bonjour

ne serait-ce pas l'extension des fichiers version 2007 et 2010 (xlsx ou xlsm à la place de xls) qui serait en cause:confused:

avez vous installé la mise à jour pour la compatibilité sur vos ordis version 2003

voir ici
 
Dernière édition:

Nousson

XLDnaute Nouveau
Re : Codification fournisseur jet sous Excel 2010

Merci pour votre réponse.
J'ai installé le pack de mise à jour, mais j'ai toujours le même message d'erreur.
Je ne pense pas qu'il s'agisse d'un problème d'extension de fichier car dans la macro, je borne sur toutes les extensions ".xls*"

Bonjour

ne serait-ce pas l'extension des fichiers version 2007 et 2010 (xlsx ou xlsm à la place de xls) qui serait en cause:confused:

avez vous installé la mise à jour pour la compatibilité sur vos ordis version 2003

voir ici
 

david84

XLDnaute Barbatruc
Re : Codification fournisseur jet sous Excel 2010

Bonjour,
Issu de
Lire et écrire dans les classeurs Excel fermés
par SilKyRoad
Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "C:\Documents and Settings\mimi\dossier\NomClasseur.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Feuil1"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
End With
'-----------------
'
'... la requête ...
'
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
End Sub
Si cela peut t'aider...
A+
Edit : bonjour Hasco:)
 
Dernière édition:
G

Guest

Guest
Re : Codification fournisseur jet sous Excel 2010

Bonjour,
Hello Gilbert:D

Pour accéder aux fichiers excel à partir de la version 2007:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

Noter la présence du format 'XML' et non pas xlm dans les extended Properties.

[Edit] site pour les chaines de connexion: Excel 2007 Connection String Samples - ConnectionStrings.com

A+
 
Dernière modification par un modérateur:

Nousson

XLDnaute Nouveau
Re : Codification fournisseur jet sous Excel 2010

Bonjour,

Je reviens sur cette discussion car j'ai à présent un problème qui y est lié.
En effet, lorsque je souhaite accéder aux données d'un fichier fermé mais dont je n'ai accès que via un raccourci (extension .xlsx.EFA), ma macro ne fonctionne pas et remonte le message d'erreur "La table externe n'est pas dans le format attendu".
Quelqu'un aurait-il une solution en utilisant le fichier raccourci ?
Merci de votre réponse.
 

Discussions similaires

Statistiques des forums

Discussions
312 684
Messages
2 090 917
Membres
104 699
dernier inscrit
Azyra