Bonjour.
J'ai un fichier Excel qui contient des feuilles avec les résultats de requetes SQL.
Au démarrage du fichier je veux actualiser ces requetes.
J'aimerai stocké dans une variable le nom de mon server de base de données. Comme ça quand on change la base de données de server, je n'ai plus qu'à modifier cette variable global et mes requetes fonctionnent à nouveaux.
Voici la fonction que j'ai créée :
Seulement ceci me rajoute un requete sur ma feuille et ne supprime pas l'ancienne.
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 Sub DefinirRequete(P_Sheet As String, P_Query As String, P_Cel As String) 'on défini dans la cellule P_Cel de la feuille P_Sheet la requete P_Query Sheets(P_Sheet).Select With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _ "ODBC;DRIVER=SQL Server;SERVER="& NomServer &";UID=sa;;APP=Microsoft Office 2003;WSID="& NomServer &";DATABASE="& NomBase &";Trusted_" _ ), Array("Connection=Yes")), Destination:=Range(P_Cel)) .CommandText = Array(P_Query) .Name = "Requete " & P_Sheet .FieldNames = True .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With End Sub
Je me retrouve donc à chaque démarrage du fichier avec une requete de plus sur la feuille ...
Saurriez-vous comment fair pour supprimer toutes les requetes de la feuille avant d'en rajouter une?
Merci d'avance
Partager