Objets VBA : Explication illustrée facile
Visual Basic pour Applications est un langage orienté objet et pour en tirer le meilleur parti, vous devez comprendre les objets Excel. Le classeur que vous utilisez dans Excel est composé de différents objets.
Et il existe plusieurs propriétés attachées à un objet auxquelles vous pouvez accéder et plusieurs méthodes que vous pouvez utiliser sur/avec un objet. Comprenons cela avec un exemple.
Pensez à une grande épicerie, qui a différentes sections pour les produits, puis ces sections ont en outre des étagères et, dans ces étagères, des produits.
Donc, si vous voulez acheter des vêtements, vous devez vous rendre dans la section des vêtements et dans la section des vêtements, vous pourriez avoir des sous-sections pour les hommes et les femmes.
Et lorsque vous choisissez un tissu, ce tissu aurait une couleur, une taille et un tissu spécifiques (qui sont les propriétés de ce tissu).
De la même manière, en VBA, il existe des objets qui sont structurés en hiérarchie.
Modèle d’objet VBA (hiérarchie)
Dans l’application Excel, lorsque vous ouvrez un classeur, dans ce classeur, vous avez une feuille de calcul (ou plusieurs feuilles de calcul) et dans cette feuille de calcul, vous avez des cellules et une plage de cellules.
La hiérarchie d’Excel commence par elle-même Application Excel et ci-dessous se trouve la structure qui définit cette hiérarchie :
Disons que si vous voulez faire référence à un classeur, le code que vous avez écrit devrait ressembler à ceci :
Dans le code ci-dessus, vous faites référence au classeur « Book1 ».
Ce que vous avez écrit, c’est que vous vous référez d’abord à l’application Excel et que vous avez utilisé « Classeurs » qui fait en outre partie de l’objet Application.
Supposons maintenant que vous souhaitiez aller plus loin et que vous vouliez vous référer à une feuille de calcul dans le classeur « Book1 » et le code correspondant serait :
Vous savez ce que cela signifie, n’est-ce pas? Mais laissez-moi vous dire. Dans le code ci-dessus, après avoir fait référence au classeur « Book1 », vous avez fait référence à la feuille de calcul « Sheet1 » qui est une autre partie du classeur.
Allons un peu plus loin. Faisons référence à une cellule spécifique dans la feuille de calcul « Sheet1 » et le code correspondant serait :
Avant de demander, laissez-moi vous dire ceci. Dans le code ci-dessus, vous avez fait référence à la cellule A1 qui se trouve dans la feuille de calcul « Feuille1 » du classeur « Livre1 ».
Lorsque vous faites référence à un objet Range de cette manière, cela s’appelle une référence entièrement qualifiée.
Remarque : L’utilisation de l’objet Application est facultative. Raison? Lorsque vous faites quelque chose dans VBA, vous êtes déjà dans l’application Excel.
Simplifier la référence à un objet
Dans le code ci-dessus, vous avez utilisé une référence pleinement qualifiée. Cela signifie que vous indiquez à VBA à quel classeur, feuille de calcul et cellule se référer. Mais que se passe-t-il si vous êtes déjà dans le cahier d’exercices du livre 1 ?
Dans ce cas, vous pouvez simplement vous référer à la feuille de calcul dans laquelle vous souhaitez faire référence à une cellule, tout comme le code ci-dessous :
De plus, si la feuille de calcul « Sheet1 » est activée, vous pouvez simplement vous référer à la cellule ou à la plage de cellules, tout comme le code ci-dessous :
En savoir plus sur les objets VBA : Objet de classeur VBA | Objet de feuille de calcul VBA | Objet de plage VBA