/ / Excel Classeur VBA et objet de feuille de calcul

Classeur Excel VBA et objet de feuille de calcul

Hiérarchie des objets | Des collections | Propriétés et méthodes

En savoir plus sur le Cahier de travail et Objet de la feuille de calcul dans Excel VBA.

Hiérarchie des objets

Dans Excel VBA, un objet peut contenir un autreobjet, et cet objet peut contenir un autre objet, etc. En d'autres termes, la programmation Excel VBA implique de travailler avec une hiérarchie d'objets. Cela semble probablement assez déroutant, mais nous le préciserons.

La mère de tous les objets est Excel lui-même. Nous l'appelons l'objet Application. L'objet d'application contient d'autres objets. Par exemple, l'objet Workbook (fichier Excel). Cela peut être n'importe quel classeur que vous avez créé. L'objet Workbook contient d'autres objets, tels que l'objet Worksheet. L'objet de feuille de calcul contient d'autres objets, tels que l'objet Range.

Le chapitre Créer une macro montre comment exécuter du code en cliquant sur un bouton de commande. Nous avons utilisé la ligne de code suivante:

Range("A1").Value = "Hello"

mais ce que nous voulions vraiment dire était:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Remarque: les objets sont reliés par un point. Heureusement, il n'est pas nécessaire d'ajouter une ligne de code de cette façon. C'est parce que nous avons placé notre bouton de commande dans create-a-macro.xls, sur la première feuille de calcul. Sachez que si vous souhaitez modifier des éléments de différentes feuilles de calcul, vous devez inclure l'objet Feuille de calcul. Continuer à lire.

Des collections

Vous avez peut-être remarqué que Workbooks andLes feuilles de travail sont toutes les deux au pluriel. C'est parce qu'ils sont des collections. La collection Workbooks contient tous les objets Workbook actuellement ouverts. La collection Worksheets contient tous les objets Worksheet d'un classeur.

Noms de feuille de travail

Vous pouvez faire référence à un membre de la collection, par exemple, un seul objet de feuille de calcul, de trois manières.

1. Utilisation du nom de la feuille de calcul.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Utilisation du numéro d’index (1 est la première feuille de calcul en partant de la gauche).

Worksheets(1).Range("A1").Value = "Hello"

3. Utilisation du nom de code.

Sheet1.Range("A1").Value = "Hello"

Pour voir le CodeName d'une feuille de calcul, ouvrez Visual Basic Editor. Dans l'explorateur de projet, le prénom est le nom de code. Le deuxième nom est le nom de la feuille de calcul (Ventes).

Nom de code

Remarque: le CodeName reste le même si vous modifiez le nom de la feuille de calcul ou l'ordre de vos feuilles de calcul, c'est donc le moyen le plus sûr de référencer une feuille de calcul. Cliquez sur Afficher, Fenêtre Propriétés pour modifier le nom de code d'une feuille de calcul. Il y a un inconvénient, vous ne pouvez pas utiliser CodeName si vous référencez une feuille de calcul dans un classeur différent.

Propriétés et méthodes

Voyons maintenant quelques propriétés etméthodes de la collection Workbooks and Worksheets. Les propriétés sont quelque chose qu'une collection a (elles décrivent la collection), tandis que les méthodes font quelque chose (elles effectuent une action avec une collection).

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code:

1. La méthode Add de la collection Workbooks crée un nouveau classeur.

Workbooks.Add

Remarque: la méthode Add de la collection Worksheets crée une nouvelle feuille de calcul.

2. La propriété Count de la collection Worksheets compte le nombre de feuilles de calcul d'un classeur.

MsgBox Worksheets.Count

Résultat lorsque vous cliquez sur le bouton de commande de la feuille:

Nombre de propriétés dans Excel VBA

Remarque: la propriété Count de la collection Workbooks compte le nombre de classeurs actifs.

Lisez aussi: