Bonjour à tous.

Afin de de pouvoir utiliser des données présentes dans un fichier Excel fermé, j'utilise la méthode suivante qui fonctionne à merveille : Lire et écrire dans les classeurs Excel fermés

Je remarque cependant un problème : Lorsque le classeur fermé (me servant de base de données) est ouvert par un autre utilisateur, et que j’exécute le code cité plus haut, le classeur "bdd" s'ouvre automatiquement. Il suffit que je demande à mon collègue de fermer le classeur en question pour que la méthode s’exécute normalement, classeur fermé donc.

Savez-vous pourquoi ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CommandButton1_Click()
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
Dim Feuille As String
Set rst = New ADODB.Recordset
Set cnx = New ADODB.Connection
Feuille = "Planning"
 
cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SERVEUR\Planning.xlsm;Extended Properties=""Excel 12.0;HDR=No;"""
cnx.Open
 
Set rst = New ADODB.Recordset
Set rst = cnx.Execute("SELECT * FROM [" & Feuille & "$B2:B2" & "]")
ThisWorkbook.Sheets("Planning").Range("B1").CopyFromRecordset rst
rst.Close
 
cnx.Close
End Sub
Merci d'avance et très bonne journée