Probleme lecture dans un fichier Excel ferme
Bonjour a tous ! Ceci est mon premier message sur ce forum :)
J'utilise depuis peu VB6.3 pour Excel 2007. Ma tache consiste a realiser des macros pour importer des donnes depuis un autre fichier excel. Pour cela je suis notamment le tuto suivant :
http://silkyroad.developpez.com/VBA/ClasseursFermes/
En m'adaptant j'obtiens ce code ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Option Explicit
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 = "Z:\test1b.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "a"
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
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
End Sub |
Le probleme : pendant la compilation, VB me dit qu'il ne trouve pas l'objet (The MS Office Access database engine could not find the object 'a$'. Make sure the object exists and that you spell its name and the path name correctly).
Evidemment, le fichier existe et possede une feuille appelee a. Il est au format xlsx. Si je mets un nom de fichier bidon qui n'existe pas, jai la meme erreur. Le tout est sur un disque reseau sur lequel jqi toutes les permissions.
Quelqu'un aurait-il une idee ? Merci !