Classe Watch (Excel VBA)

La classe Watch représente une plage qui est suivie lorsque la feuille de calcul est recalculée.

Set

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

Dim wtc as Watch
Set wtc = Application.Watches(Index:=1)

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe Watch : Watches.Item, Watches.Add et Application.Watches

For Each

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

Dim wtcWatche As Watch
For Each wtcWatche In Application.Watches
	
Next wtcWatche

Delete

Cette méthode supprime l'objet.

Application.Watches(1).Delete

Parent

Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Source

Cette propriété renvoie une valeur de type Variant qui représente le nom unique identifiant les éléments dont la propriété SourceType a pour valeur xlSourceRange, xlSourceChart, xlSourcePrintArea, xlSourceAutoFilter, xlSourcePivotTable ou xlSourceQuery.

Valeurs possibles sont xlSourceAutoFilter - Plage de filtre automatique, xlSourceChart - Un graphique, xlSourcePivotTable - Un rapport de tableau croisé dynamique, xlSourcePrintArea - Plage de cellules sélectionnée pour l’impression, xlSourceQuery - Une table de requête (plage de données externes), xlSourceRange - Une plage de cellules, xlSourceSheet - Une feuille de calcul entière, xlSourceWorkbook - Un classeur.

Si la propriété SourceType a la valeur xlSourceRange, cette propriété renvoie une plage, qui peut être un nom défini. Si la propriété SourceType a la valeur xlSourceChart, xlSourcePivotTable ou xlSourceQuery, cette propriété renvoie le nom de l'objet, tel qu'un nom de graphique, un nom de rapport de tableau croisé dynamique ou un nom de table de requête.

Dim xstSource As XlSourceType
xstSource = Application.Watches(1).Source

Watches.Add

Ajoute une plage qui est suivie lorsque la feuille de calcul est recalculée.

Syntaxe : expression.Add (Source)

Source: Source de la plage.

 With Application 
 .Range("A1").Formula = 1 
 .Range("A2").Formula = 2 
 .Range("A3").Formula = "=Sum(A1:A2)" 
 .Range("A3").Select 
 .Watches.Add Source:=ActiveCell 
 End With

Watches.Count

Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = Application.Watches.Count

Watches.Delete

Cette méthode supprime l'objet.

Application.Watches.Delete

Watches.Item

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

Syntaxe : expression.Item (Index)

Index: Nom ou numéro d'index de l'objet.

Dim wtcItem As Watch
Set wtcItem = Application.Watches(Index:=1)

Watches.Parent

Renvoie l’objet parent pour l’objet spécifié. En lecture seule.