Bonjour à tous,

Dans un fichier d'analyse de résultats, j'utilise une macro qui permet d'exécuter une requête sql sur certaines feuilles du classeur.
Voici le code :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Dim cmdConnection As ADODB.Connection
Dim cmdRecordSet As ADODB.Recordset
Dim requeteSQL As String
 
requeteSQL = _
    "Select " & _
        "[BUD_PROPRIETE$].PK_PROPRIETE, " & _
        "0, " & _
        "0, " & _
        "[BUD_PROPRIETE$].CD_PROPRIETE, " & _
        "0 " & _
    "From [BUD_PROPRIETE$] " & _
    "Where " & _
        "[BUD_PROPRIETE$].CD_PROPRIETE = 200"
 
Set cmdConnection = New ADODB.Connection
With cmdConnection
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = _
        "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=" & ThisWorkbook.FullName & ";" & _
        "Extended Properties=""Excel 12.0;" & _
        "HDR=YES;" & _
        "ReadOnly=false"""
    .Open
End With
 
Set cmdRecordSet = New ADODB.Recordset
Set cmdRecordSet = cmdConnection.Execute(requeteSQL)
 
Feuil1.Range("A1").CopyFromRecordset cmdRecordSet

Tout fonctionne normalement sauf que... (sinon cela ne serait pas drole !) dès que le fichier est en lecture seule, la requête ne renvoie strictement rien...
Mon problème est que le fichier doit être en lecture seule (plusieurs utilisateurs en simultané).

J'ai cherché partout mais n'ai pas trouvé de solution... Auriez vous une idée ?

Merci d'avance !!! :-)