Bonjour,
le but étant d'accéder à un fichier fermé, pourquoi l'ouvrir alors ? …
Ce message d'erreur correspond en fait à un format de fichier non supporté par la connexion employée !
Du genre tentative d'ouverture d'un fichier au format .xlsx (à partir de 2007) mais la connexion ne gère que les .xls (jusqu'en 2003).
Et attention, l’extension du nom de fichier ne fait pas le format !
Pour le vérifier, enregistrer sous un autre nom le classeur en spécifiant le format Excel 97-2003 et le tester ensuite …
L'autre solution est d'utiliser la nouvelle connexion depuis 2007 gérant aussi bien les .xls comme les .xlsx :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ' Référence à cocher : Microsoft ActiveX Data Objects 6.1 Library
Dim Cnx As New ADODB.Connection, Rst As New ADODB.Recordset
Fichier$ = "
"
If Dir(Fichier) > "" Then
Cnx.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & _
";Extended Properties=""Excel 12.0;HDR=No;"";"
Set Rst = Cnx.Execute("SELECT * FROM [NomFeuille$]")
' suite du code
Rst.Close: Set Rst = Nothing
Cnx.Close: Set Cnx = Nothing
End If |
Mettre à jour le nom du fichier en ligne n°5 et le nom de la feuille en ligne n°10 …
__________________________________________________________________________________________
Merci de cliquer sur
pour chaque message ayant aidé puis sur
pour clore cette discussion …
Partager