Classe Queries (Excel VBA)

Collection d'objets WorkbookQuery introduite dans Office 2016.

Pour utiliser une variable de classe Queries, elle doit d'abord être instanciée, par exemple

Dim qrs as Queries
Set qrs = ActiveWorkbook.Queries

Les variables du type Queries peuvent être définies à l'aide de la procédure Workbook.Queries

For Each

Voici un exemple de traitement des éléments Queries dans une collection

Dim wqyQuerie As WorkbookQuery
For Each wqyQuerie In ActiveWorkbook.Queries
	
Next wqyQuerie

Add

Ajoute un nouvel objet WorkbookQuery à la collection Queries .

Add (Name, Formula, Description)

Dim myConnection As WorkbookConnection
Dim mFormula As String
mFormula = _
"let Source = Csv.Document(File.Contents(""C:\data.txt""),null,""#(tab)"",null,1252) in Source"
query1 = ActiveWorkbook.Queries.Add("query1", mFormula)

Arguments

Les arguments nommés :

Name (String) - Nom de la requête.

Formula (String) - Formule Power Query M de la nouvelle requête.

Optional arguments

Les arguments suivants sont facultatifs

Description (String) - La description de la requête.

Count

Cette propriété renvoie un nombre entier qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = ActiveWorkbook.Queries.Count

FastCombine

True pour activer la fonctionnalité de regroupement rapide, tant que le classeur est ouvert. Boolean (en lecture/écriture).

Pour les opérations d’actualisation en mode silencieux, utilisez la propriété FastCombine en association avec la propriété application. DisplayAlerts définie sur false.

ActiveWorkbook.Queries.FastCombine = True

Item

Cette méthode renvoie un seul objet d'une collection.

Item (NameOrIndex)

NameOrIndex: Nom ou numéro d’index de l’élément.

Dim wqyQuery As WorkbookQuery
Set wqyQuery = ActiveWorkbook.Queries(NameOrIndex:=1)