Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer la définition d'un requête pour une plage de données

4 réponses
Avatar
Hervé RESCOURIO
Après avoir lancer une requête en code source, je souhaiterais avoir la
possibilité de supprimer la définition de la requête en code source.
Merci d'avance pour vos suggestions

4 réponses

Avatar
Denis Michon
Bonjour Hervé,

Qu'est-ce que cela veut dire ?
"Après avoir lancer une requête en code source"

Tu as une procédure dans ton classeur qui exécute une requête ?


Et ta demande est : Effacer cette procédure ?


Salutations!



"Hervé RESCOURIO" a écrit dans le message de news:
Après avoir lancer une requête en code source, je souhaiterais avoir la
possibilité de supprimer la définition de la requête en code source.
Merci d'avance pour vos suggestions
Avatar
isabelle
bonjour Hervé,

je ne suis pas sur de bien comprendre, est ce c'est ça que tu cherche ?

sélectionne une cellule de la requête, et fait un click droit.
sélectionne
Propriété de la plage de données, décocher Enregistrer la définition de
la requête

isabelle


Après avoir lancer une requête en code source, je souhaiterais avoir la
possibilité de supprimer la définition de la requête en code source.
Merci d'avance pour vos suggestions


Avatar
Hervé RESCOURIO
En fait, j'ai le code source VBA suivant qui me remplie les cellules de ma
feuille en fonction d'une requête.

Exemple :

Requete = 'Select * from personne'
With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSNºSE_RESEAU", _
Destination:=Worksheets("Base").Range("A1"))
.CommandText = Requete
.Name = "Lancer la requête à partir de BASE_RESEAU_7"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

Après avoir exécuté ma requête, si je me positionne sur une cellule
contenant une donnée, Excel me permet de modifier les propriétés de la plage
de données (Option du menu Données, Données externes, Plage de données), et
décocher l'option "Enregistrer la définition de la requête" ce qui a pour
effet de supprimer de la feuille la définition de la requête, mais pas les
données réultante de ma requête, ce que je souhaiterais pouvoir faire en
code source VBA à la suite de ma requête.

Merci

Salutations




"Hervé RESCOURIO" a écrit dans le message de
news:
Après avoir lancer une requête en code source, je souhaiterais avoir la
possibilité de supprimer la définition de la requête en code source.
Merci d'avance pour vos suggestions





Avatar
Denis Michon
Bonjour Hervé,

Essaie cette procédure : Je l'ai modifié légèrement pour qu'elle
détruise le "Nom" (insertion/nom/définir) qu'elle crée au moment
de l'exécution de la procédure. En détruisant le nom, je crois
bien que l'on obtient l'effet que tu souhaites.

'----------------------
Requete = 'Select * from personne'

Dim Nom As String
With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSNºSE_RESEAU", _
Destination:=Worksheets("Base").Range("A1"))
.CommandText = Requete
.Name = "Lancer la requête à partir de BASE_RESEAU_7"
Nom = .Name
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
ThisWorkbook.Names(Nom).Delete
'----------------------

Salutations!


"Hervé RESCOURIO" a écrit dans le message de news:OrxoC3%
En fait, j'ai le code source VBA suivant qui me remplie les cellules de ma
feuille en fonction d'une requête.

Exemple :

Requete = 'Select * from personne'
With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSNºSE_RESEAU", _
Destination:=Worksheets("Base").Range("A1"))
.CommandText = Requete
.Name = "Lancer la requête à partir de BASE_RESEAU_7"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

Après avoir exécuté ma requête, si je me positionne sur une cellule
contenant une donnée, Excel me permet de modifier les propriétés de la plage
de données (Option du menu Données, Données externes, Plage de données), et
décocher l'option "Enregistrer la définition de la requête" ce qui a pour
effet de supprimer de la feuille la définition de la requête, mais pas les
données réultante de ma requête, ce que je souhaiterais pouvoir faire en
code source VBA à la suite de ma requête.

Merci

Salutations




"Hervé RESCOURIO" a écrit dans le message de
news:
Après avoir lancer une requête en code source, je souhaiterais avoir la
possibilité de supprimer la définition de la requête en code source.
Merci d'avance pour vos suggestions