Bonjour à tous,

J'ai créé une petite application en VBA sous Excel 2010 pour traiter des demandes. Tout fonctionne bien quand le fichier Excel se trouve sur mon disque dur.
Par contre, je l'ai déposé sur notre GED Sharepoint et là ça dysfonctionne complètement.

Petite explication, j'exécute une requête SQL et je récupère les infos que je mets dans une feuille "Resultats". J'ai créé une plage nommée "SELECTION" qui correspond au contenu de la feuille "Resultats". Ensuite, je fais une requête pour rechercher un matricule dans cette "SELECTION".

Voici le code qui fonctionne sur mon poste (hors GED) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Application.ScreenUpdating = False
Dim rs As ADODB.Recordset
Set Cnx = New ADODB.Connection
req = "select * from SELECTION where id = '" + Matricule+ "'"
With Cnx
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ActiveWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=YES;"""
End With
Cnx.Open
If Cnx.State = adStateOpen Then
            Set rs = Cnx.Execute(req)
End If
Voici le code que j'ai modifié une fois le fichier sur la GED :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Application.ScreenUpdating = False
Dim rs As ADODB.Recordset
Set Cnx = New ADODB.Connection
req = "select * from SELECTION where id = '" + Matricule+ "'"
With Cnx
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes;DATABASE=\\cheminGED\Fichier.xlsm;LIST={8C989D07-6C93-4443-A076-C82F49212595};Extended Properties=""Excel 12.0;HDR=YES;"""
End With
Cnx.Open
If Cnx.State = adStateOpen Then
            Set rs = Cnx.Execute(req)
End If
La connexion se passe bien mais j'ai une erreur sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set rs = Cnx.Execute(req)
Nom : 2015-04-23_09h14_45.jpg
Affichages : 775
Taille : 29,3 Ko

Quelqu'un aurait-il une idée sur le sujet ? Car là après deux jours de recherche, je commence à désespérer ...

Merci d'avance de votre aide.