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 :
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
Seulement ceci me rajoute un requete sur ma feuille et ne supprime pas l'ancienne.

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