Classe Worksheet (Excel VBA)

La classe Worksheet représente une feuille de calcul.

Les procédures principales de la classe Worksheet sont Sheets.Add, Sheets.Copy, Sheets.Delete, Sheets.Select, Activate, Copy, Delete, Select, Worksheets.Add, Worksheets.Copy, Worksheets.Delete et Worksheets.Select

Set

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

Dim ws as Worksheet
Set ws = ActiveSheet

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe Worksheet : Application.Charts, Application.Sheets, Application.Worksheets, Window.SelectedSheets, Workbook.Charts, Workbook.Sheets, Workbook.Worksheets, Application.ActiveSheet, Chart.Next, Chart.Previous, HPageBreak.Parent, Range.Parent, Range.Worksheet, Sheets.Item, Sheets.Item, Sheets.Add, Sheets.Add, Slicer.Parent, VPageBreak.Parent, Window.ActiveSheet, Workbook.ActiveSheet, Next, Previous, Worksheets.Item et Worksheets.Add

For Each

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

Dim ws As Worksheet
For Each ws In Worksheets
	
Next ws

Thèmes

Certaines procédures de cette classe ont été regroupées en thèmes et sont décrites sur des pages thématiques séparées

Add with its procedures Sheets.Add et Worksheets.Add
Copy with its procedures Sheets.Copy, Copy et Worksheets.Copy
Print with its procedures Sheets.HPageBreaks, Sheets.PrintOut, Sheets.PrintPreview, Sheets.VPageBreaks, DisplayPageBreaks, HPageBreaks, PageSetup, PrintedCommentPages, PrintOut, PrintPreview, ResetAllPageBreaks, VPageBreaks, Worksheets.HPageBreaks, Worksheets.PrintOut, Worksheets.PrintPreview et Worksheets.VPageBreaks
Select with its procedures Sheets.Select, Select et Worksheets.Select
Display/Show with its procedures DisplayRightToLeft, ShowAllData et ShowDataForm
Enable with its procedures EnableCalculation, EnableFormatConditionsCalculation, EnableOutlining, EnablePivotTable et EnableSelection
Protect with its procedures Protect et Unprotect

Méthodes

Les méthodes principales de la classe Worksheet sont

Sheets.Delete - Cette méthode supprime l’objet.

Charts.Delete

Activate -

ActiveSheet.Activate

Delete - Cette méthode supprime l'objet.

ActiveSheet.Delete

Worksheets.Delete - Cette méthode supprime l'objet.

Dim wrks As Worksheets: Set wrks = 
wrks.Delete

Autre Méthodes

Sheets.FillAcrossSheets - Cette méthode copie une plage dans la même zone de toutes les autres feuilles de calcul d'une collection.

Sheets.Move - Cette méthode déplace la feuille à un autre endroit du classeur.

ChartObjects - Renvoie un objet qui représente soit un seul graphique incorporé (un objet ChartObject ), soit une collection de tous les graphiques incorporés (un objet ChartObjects ) de la feuille.

CheckSpelling - Vérifie l'orthographe d'un objet.

CircleInvalid - Cette méthode encercle les entrées incorrectes dans la feuille de calcul.

ClearArrows - Cette méthode efface les flèches d'audit de la feuille de calcul. Ces flèches ont été ajoutées à l'aide de la fonctionnalité d'audit.

ClearCircles - Cette méthode supprime les cercles des entrées incorrectes de la feuille de calcul.

Evaluate - Cette méthode convertit un nom Microsoft Excel en un objet ou une valeur.

ExportAsFixedFormat - Cette méthode réalise une exportation dans un fichier avec le format spécifié.

Move - Cette méthode déplace la feuille à un autre endroit du classeur.

OLEObjects - Renvoie un objet qui représente soit un seul objet OLE ( OLEObject), soit une collection de tous les objets OLE (une collection OLEObjects ) sur le graphique ou la feuille. En lecture seule.

Paste - Cette méthode colle le contenu du Presse-papiers dans la feuille.

PasteSpecial - Cette méthode colle le contenu du Presse-papiers dans la feuille en utilisant un format défini. Utilisez cette méthode pour coller des données provenant d'autres applications ou pour coller des données en respectant un format particulier.

PivotTables - Renvoie un objet qui représente soit un seul rapport de tableau croisé dynamique (un objet PivotTable ), soit une collection de tous les rapports de tableau croisé dynamique (un objet PivotTables ) d’une feuille de calcul. En lecture seule.

PivotTableWizard - Cette méthode crée un rapport de tableau croisé dynamique. Cette méthode n’affiche pas l’Assistant Tableau croisé dynamique. Cette méthode n’est pas disponible pour les sources de données OLE DB. Utilisez la méthode Add pour ajouter un cache de tableau croisé dynamique, puis créez un rapport de tableau croisé dynamique basé sur le cache.

SaveAs - Cette méthode enregistre dans un autre fichier les modifications effectuées sur le graphique ou la feuille de calcul.

Scenarios - Renvoie un objet qui représente soit un seul scénario (un objet Scenario ), soit une collection de scénarios (un objet Scenarios ) sur la feuille de calcul.

SetBackgroundPicture - Cette méthode définit le graphique de l'arrière-plan d'une feuille de calcul.

XmlDataQuery - Renvoie un objet Range qui représente les cellules mappées à un objet XPath particulier. Elle renvoie la valeur Nothing si l'objet XPath spécifié n'a pas été mappé sur la feuille de calcul, ou si la plage mappée est vide.

XmlMapQuery - Renvoie un objet Range qui représente les cellules mappées à un objet XPath particulier. Elle renvoie la valeur Nothing si l'objet XPath spécifié n'a pas été mappé sur la feuille de calcul.

Worksheets.FillAcrossSheets - Cette méthode copie une plage dans la même zone de toutes les autres feuilles de calcul d'une collection.

Worksheets.Move - Cette méthode déplace la feuille à un autre endroit du classeur.

Propriétés

Sheets.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 = Charts.Count

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

Dim chrItem As Chart
Set chrItem = Charts(Index:=1)

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

Dim wbParent As Workbook
Set wbParent = Charts.Parent

Sheets.Visible Cette propriété renvoie ou définit une valeur de type Variant qui détermine si l'objet est visible.

Charts.Visible = True

AutoFilter Renvoie un objet AutoFilter si le filtrage est activé. En lecture seule.

Dim afrAutoFilter As AutoFilter
Set afrAutoFilter = ActiveSheet.AutoFilter

AutoFilterMode True si les flèches déroulantes de filtre automatique sont actuellement affichées sur la feuille. Cette propriété est indépendante de la propriété FilterMode. Boolean (en lecture/écriture).

ActiveSheet.AutoFilterMode = True

Cells Renvoie un objet Range qui représente toutes les cellules de la feuille de calcul (pas seulement celles qui sont en cours d’utilisation).

Dim rngCells As Range
Set rngCells = ActiveSheet.Cells

CircularReference Renvoie un objet Range qui représente la plage contenant la première référence circulaire de la feuille ou renvoie Nothing s’il n’y a pas de référence circulaire sur la feuille. Cette référence doit être enlevée avant que le calcul ne soit effectué.

Dim rngCircularReference As Range
Set rngCircularReference = ActiveSheet.CircularReference

CodeName Cette propriété renvoie le nom de code de l’objet. Type de données String en lecture seule.

Dim strCodeName As String
strCodeName = ActiveSheet.CodeName

Columns Renvoie un objet Range qui représente toutes les colonnes de la feuille de calcul spécifiée.

Dim rngColumns As Range
Set rngColumns = ActiveSheet.Columns

Comments Renvoie une collection comments qui représente tous les commentaires de la feuille de calcul spécifiée. En lecture seule.

Dim cmmsComments As Comments
Set cmmsComments = ActiveSheet.Comments

CommentsThreaded Renvoie une collection CommentsThreaded qui représente tous les commentaires de niveau supérieur/racine (aucune réponse) pour la feuille de calcul spécifiée. Inclut des commentaires hérités et modernes. En lecture seule.

Dim ctdCommentsThreaded As CommentsThreaded
Set ctdCommentsThreaded = ActiveSheet.CommentsThreaded

ConsolidationFunction Cette propriété renvoie le code de fonction utilisé pour la consolidation actuelle. Il peut s’agir de l’une des constantes de XlConsolidationFunction. Type de données Long en lecture seule.

Dim xcfConsolidationFunction As XlConsolidationFunction
xcfConsolidationFunction = ActiveSheet.ConsolidationFunction

ConsolidationOptions Cette propriété renvoie un tableau à trois éléments constitué d'options relatives à la consolidation, comme indiqué dans le tableau ci-dessous. Si l'élément a la valeur True, cette option est définie. Type de données Variant en lecture seule.

Dim varConsolidationOptions As Variant
varConsolidationOptions = ActiveSheet.ConsolidationOptions

ConsolidationSources Cette propriété renvoie un tableau de chaînes de caractères qui nomment les feuilles source pour la consolidation en cours de la feuille de calcul. Cette propriété renvoie la valeur Empty s'il n'existe aucune consolidation dans la feuille de calcul. Type de données Variant en lecture seule.

Dim varConsolidationSources As Variant
varConsolidationSources = ActiveSheet.ConsolidationSources

CustomProperties Renvoie un objet CustomProperties représentant les informations d’identificateur associées à une feuille de calcul.

Dim cpsCustomProperties As CustomProperties
Set cpsCustomProperties = ActiveSheet.CustomProperties

EnableAutoFilter Cette propriété a la valeur True si les flèches du Filtre Automatique sont activées lorsque la protection Interface utilisateur seulement est activée. Boolean (en lecture/écriture).

ActiveSheet.EnableAutoFilter = True

FilterMode Cette propriété a la valeur True si la feuille de calcul est en mode filtre. Boolean (en lecture seule).

Dim booFilterMode As Boolean
booFilterMode = ActiveSheet.FilterMode

Hyperlinks Renvoie une collection Hyperlinks qui représente les liens hypertexte de la feuille de calcul.

Dim hypsHyperlinks As Hyperlinks
Set hypsHyperlinks = ActiveSheet.Hyperlinks

Index Cette propriété renvoie une valeur de type Long qui représente le numéro d'index de l'objet au sein de la collection d'objets similaires.

Dim lngIndex As Long
lngIndex = ActiveSheet.Index

ListObjects Renvoie une collection d’objets ListObject dans la feuille de calcul. Collection ListObjects en lecture seule.

Dim losListObjects As ListObjects
Set losListObjects = ActiveSheet.ListObjects

MailEnvelope Représente un en-tête de message électronique pour un document.

Dim meeMailEnvelope As Office.MsoEnvelope
Set meeMailEnvelope = ActiveSheet.MailEnvelope

Name Renvoie ou définit une valeur String qui représente le nom de l’objet.

ActiveSheet.Name =

NamedSheetViews

Dim As Variant
ActiveSheet.NamedSheetViews

Names Renvoie une collection Names qui représente tous les noms propres aux feuilles de calcul (noms définis avec l’objet «WorksheetName!»). préfixe). Objet Names en lecture seule.

Dim nmsNames As Names
Set nmsNames = ActiveSheet.Names

Next Cette propriété renvoie un objet Worksheet qui représente la feuille suivante.

Dim wsNext As Worksheet
Set wsNext = ActiveSheet.Next

Outline Renvoie un objet Outline qui représente le plan de la feuille de calcul spécifiée. En lecture seule.

Dim otlOutline As Outline
Set otlOutline = ActiveSheet.Outline

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

Dim wbParent As Workbook
Set wbParent = ActiveSheet.Parent

Previous Renvoie un objet Worksheet qui représente la feuille précédente.

Dim wsPrevious As Worksheet
Set wsPrevious = ActiveSheet.Previous

ProtectContents Cette propriété renvoie la valeur True si le contenu de la feuille est protégé. C'est ainsi que les cellules individuelles sont protégées. Pour activer la protection du contenu, utilisez la méthode Protect avec l’argument content défini sur true. Boolean (en lecture seule).

Dim booProtectContents As Boolean
booProtectContents = ActiveSheet.ProtectContents

ProtectDrawingObjects Cette propriété renvoie la valeur True si les formes sont protégées. Pour activer la protection des formes, utilisez la méthode Protect avec l’argument DrawingObjects défini sur true. Boolean (en lecture seule).

Dim booProtectDrawingObjects As Boolean
booProtectDrawingObjects = ActiveSheet.ProtectDrawingObjects

Protection Renvoie un objet protection qui représente les options de protection de la feuille de calcul.

Dim prtProtection As Protection
Set prtProtection = ActiveSheet.Protection

ProtectionMode Cette propriété renvoie la valeur True si la protection Interface utilisateur seulement est activée. Pour activer la protection de l’interface utilisateur, utilisez la méthode Protect avec l’argument InterfaceUtilisateurUniquement défini sur true. Boolean (en lecture seule).

Dim booProtectionMode As Boolean
booProtectionMode = ActiveSheet.ProtectionMode

ProtectScenarios Cette propriété a la valeur True si les scénarios de feuille de calcul sont protégés. Boolean (en lecture seule).

Dim booProtectScenarios As Boolean
booProtectScenarios = ActiveSheet.ProtectScenarios

QueryTables Renvoie la collection QueryTables qui représente toutes les tables de requête de la feuille de calcul spécifiée. En lecture seule.

Dim qtsQueryTables As QueryTables
Set qtsQueryTables = ActiveSheet.QueryTables

Range Renvoie un objet Range qui représente une cellule ou une plage de cellules.

Dim strCell1 As String: strCell1 = 
Dim rngRange As Range
Set rngRange = ActiveSheet.Range(Cell1:=strCell1)

Rows Renvoie un objet**Range** qui représente toutes les lignes contenues dans la feuille de calcul spécifiée.

Dim rngRows As Range
Set rngRows = ActiveSheet.Rows

ScrollArea Renvoie ou définit la plage dans laquelle le défilement est autorisé, comme une référence de plage style A1. Il est impossible de sélectionner les cellules situées hors de la zone de défilement. String en lecture/écriture.

ActiveSheet.ScrollArea =

Shapes Renvoie une collection Shapes qui représente toutes les formes de la feuille de calcul. En lecture seule.

Dim shpsShapes As Shapes
Set shpsShapes = ActiveSheet.Shapes

Sort Renvoie un objet sort . En lecture seule.

Dim srtSort As Sort
Set srtSort = ActiveSheet.Sort

StandardHeight Renvoie la hauteur standard (par défaut) de toutes les lignes de la feuille de calcul, exprimée en points. Type de données Double en lecture seule.

Dim dblStandardHeight As Double
dblStandardHeight = ActiveSheet.StandardHeight

StandardWidth Cette propriété renvoie ou définit la largeur standard (par défaut) de toutes les colonnes de la feuille de calcul. Type de données Double en lecture-écriture.

ActiveSheet.StandardWidth =

Tab Renvoie un objet Tab pour une feuille de calcul.

Dim tabTab As Tab
Set tabTab = ActiveSheet.Tab

TransitionExpEval Cette propriété a la valeur True si Microsoft Excel applique à la feuille de calcul les règles d'évaluation d'expression propres à Lotus 1-2-3. Boolean (en lecture/écriture).

ActiveSheet.TransitionExpEval = True

TransitionFormEntry Cette propriété a la valeur True si Microsoft Excel applique à la feuille de calcul les règles de saisie de formules propres à Lotus 1-2-3. Boolean (en lecture/écriture).

ActiveSheet.TransitionFormEntry = True

Type Renvoie une valeur XlSheetType qui représente le type de feuille de calcul.

Dim xstType As XlSheetType
xstType = ActiveSheet.Type

UsedRange Renvoie un objet Range qui représente la plage utilisée dans la feuille de calcul spécifiée. En lecture seule.

Dim rngUsedRange As Range
Set rngUsedRange = ActiveSheet.UsedRange

Visible Cette propriété renvoie ou définit une valeur XlSheetVisibility qui détermine si l’objet est visible.

ActiveSheet.Visible = xlSheetHidden

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

Dim wrks As Worksheets: Set wrks = 
Dim lngCount As Long
lngCount = wrks.Count

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

Dim wrks As Worksheets: Set wrks = 
Dim wsItem As Worksheet
Set wsItem = wrks(Index:=1)

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

Dim wrks As Worksheets: Set wrks = 
Dim objParent As Object
Set objParent = wrks.Parent

Worksheets.Visible Cette propriété renvoie ou définit une valeur de type Variant qui détermine la visibilité de l'objet.

Dim wrks As Worksheets: Set wrks = 
wrks.Visible = True