Bonjour le Forum,
Je souhaiterais aller chercher des données dans un classeur fermé.
J'utilise Microsoft Jet.
J'ai coché la référence ActiveX data ... sur les deux classeurs.
J'ai l'erreur "MAJ impossible. La BDD ou l'objet est en lecture seule".
La case Lecture Seule dans les propriétés de Distance.xls n'est pas coché.
Voici le code actuel :
Private Exporter_Click()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Feuille As String
'Adresse de la cellule contenant la donnée à récupérer
'Arret = Range("A3") to Range("A" & .Range("A65356").End(xlUp).Row)
Arret = "A3:A19"
Feuille = CbxLigne.Value
Fichier = "C:\Documents and Settings\stagiaire\Bureau\Distance.xls $"
'Fichier = "C:\Documents and Settings\stagiaire\Bureau\[Distance.xls]"
Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Source
'.CommandText = "SELECT * FROM [" & Feuille & Arret & "]"
.CommandText = "SELECT * FROM [" & Fichier & "]"
End With
Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
Set Rst = Source.Execute("[" & Feuille & "]")
Range("A3").CopyFromRecordset Rst
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Sub
J'ai pris la plage A3:A19 pour tester mais je l'utilise pas encore car déjà l'ouverture ne fonctionne pas.
Quelques conseils serait apprécié.
Merci à vous.