Bonjour,

Je dois afficher des vues sql dans différentes sheets de mon fichier excel.

-J'ai n vues donc n connexions à définir.
-J'ai une sheet principale dans laquelle j'ai créé un bouton qui permet de rafraichir les vues (via macro)

Je souhaite permettre à l'utilisateur de rentrer son login/password de connexion à sql server via des cellules de la sheet principale. lorsqu'il cliquera sur le bouton rafraichir son login/password sera automatiquement mis dans la connectionString.
L'objectif est d'éliminer la dialog box qui apparait à chaque rafraichissement (autant de dialbox que de connexion )
Quel code mettre pour cela?

J'ai essayé dans la macro de rafraichissement ce code ,mais cela ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    Dim conn As WorkbookConnection
    Dim connectString As String
 
    For Each conn In ActiveWorkbook.Connections
        connectString = conn.OLEDBConnection.Connection
        connectString = "Provider=SQLOLEDB.1;Password=" & Range("C2").Value & ";Persist Security Info=True;User ID=" & Range("B2").Value & ";Initial Catalog=maDB;Data Source=maSource;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=maMachine;Use Encryption for Data=False;Tag with column collation when possible=False"
        conn.OLEDBConnection.Connection = connectString
    Next
Donc en résumé :
-Eliminer les dialbox de connexions
-Paramétrer le connectionString de chaque connexion