Bonjour,
Je diffuse sur une vingtaine de sites (et donc de serveurs différents) les même fichiers XL qui se connectent à des tables de bases de données et des cubes OLAP.
L'indication des informations de connexion se fait par le biais de fichier odc.
Afin d'aider au maximum l'utilisateur en cas de soucis, j'effectue dans la macro d'ouverture le contrôle suivant.
Mon problème: quand par exemple le serveur est arrété, la ligne ThisWorkbook.Connections(I).OLEDBConnection.Refresh ne plante pas mais affiche une boite de dialogue: CONNEXION A SQL SERVEUR demandant les credentials pour accéder à la base de données.
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 Set My_FSO = CreateObject("Scripting.FileSystemObject") Set Connection_Collection = ThisWorkbook.Connections If Connection_Collection.Count <> 0 Then For I = 1 To Connection_Collection.Count ' On ne travaille que si le fichier de connexion est répertorié If FileNameShort <> "" Then FileNameLong = Workbooks(ActiveWorkbook.Name).Path & "\" & FileNameShort If My_FSO.FileExists(FileNameLong) = False Then GoTo Erreur ' On modifie le fichier odc dans la connexion du classeur uniquement pour les connexions répertoriées If My_Err_No <> "" Then On Error GoTo Erreur Set OleDbConn = ThisWorkbook.Connections(I).OLEDBConnection If ThisWorkbook.Connections(I).Type = xlConnectionTypeOLEDB Then ThisWorkbook.Connections(I).OLEDBConnection.SourceConnectionFile = FileNameLong ThisWorkbook.Connections(I).OLEDBConnection.AlwaysUseConnectionFile = True ThisWorkbook.Connections(I).OLEDBConnection.Refresh End If End If End If Next I End If
Je voudrais empêcher l'affichage de cette boite pour guider moi même l'utilisateur dans ce qu'il y a lieu de faire.
Mais je n'ai pas trouvé.
Quelqu'un a t il une solution ?
Merci d'avance.
Partager