Le VBA : un langage orienté objet (Excel mais général) Flashcards
Lorsque nous utilisons des méthodes, nous sommes parfois amenés à leur passer des arguments, ce qui se fera sous la forme suivante :
Objet.Méthode Argument1:=”Valeur”, Argument4:=”Valeur”
Objet.Méthode Argument1:=”Valeur”, Argument4:=”Valeur”
Le nom de l’argument est suivi de la combinaison “:=” et ensuite la valeur. Nous pourrions le faire sans nommer les arguments :
Objet.Méthode “Valeur”,,,”Valeur”
POO
Le VBA est un langage orienté objet. On dira également que vous faites de la Programmation Orientée Objet (POO)
Nous allons prendre comme exemple votre maison. Une maison est caractérisée par ses (1) : elle a une année de construction, une couleur… mais on peut aussi y faire beaucoup d’action : Nettoyer, Regarder la télé … on parle alors de (2).
(1)propriétés; (2)méthodes.
À partir de ces propriétés et méthodes, vous pouvez imaginer plein de maisons différentes, en faisant varier le nombre de pièces, par exemple. Les (1) permettent d’identifier la maison, de la caractériser, de la singulariser. Les méthodes forment toutes les actions que l’on peut exécuter à partir de cet objet.
(1)propriétés; (2)méthodes
Toutes ces maisons ont donc été fabriquées à partir d’un plan. On parle …
d’une classe.
Lorsque vous fabriquez un objet à partir d’une classe, on dit que vous faites…
une instance de classe.
imaginez un architecte qui dessine un plan de maison. Le plan correspond ici à ma classe et les maisons aux objets : en effet, à partir du plan, vous pouvez bâtir autant de maisons que vous le voulez !! J’ajoute que la définition de toutes les maisons de l’Univers, même imbriquées dans des classes différentes s’appelle…
une collection d’objets.
Vous êtes dans votre maison et vous voulez prendre un bain (c’est une méthode), vous allez donc devoir vous rendre dans la salle de bain. Pour cela, il y a un ordre à respecter. Vous devez d’abord trouver la ville dans laquelle se trouve la maison, puis l’adresse précise et enfin trouver la salle de bain.
Puisque toutes les villes se ressemblent, nous pouvons considérer la classe Villes. De là, vous trouvez votre ville à vous, qui est une instance de Villes, ou un objet issu de Villes. Il en est de même pour la classe Maisons. Des maisons, il y en a des tonnes, mais la vôtre se distingue parce que c’est votre maison.
L’itinéraire à suivre est donc le suivant :
Ville > Maison > Salle de Bain > Bain
En code VBA, cet itinéraire se précise en partant du plus grand conteneur ; ici, la ville contient la maison, qui contient la salle de bain, et il y a la baignoire que nous désirons.
C’est comme les poupées russes : la ville est la plus grosse poupée qui contient toutes les maisons.
Les lieux et objets sont séparés par un point. Le code serait donc ceci :
Villes(“Reims”).Maisons(“Ma_Maison”).Salle_de_bains(“Bain”)
’ Dans la classe Villes, votre ville se distingue des autres par son nom : Reims.
’ Reims est un objet créé à partir de la classe Villes, qui contient aussi bien Paris que Bordeaux.
Vous accédez ainsi à (1) “Bain”. Entre parenthèses et guillemets, vous donnez des précisions. En effet, la baignoire se différencie des autres parce qu’elle permet de prendre un bain, vous ne pourriez pas construire un objet “Lavabo” à partir de la classe “Salle_de_bain” pour faire un bain.
Nous pouvons même rajouter une méthode à la fin, puisque vous désirez vous laver : (2)
1.l’objet
2.
Villes(“Reims”).Maisons(“Ma_Maison”).Salle_de_bains(“Bain”).Frotter_le_dos
Et si vous désiriez vous laver les mains, on aurait pu créer ce fameux (1) Lavabo, toujours issu de la classe Salle_de_bains
Tout ceci n’est que schéma bien sûr, mais la syntaxe correspond à celle d’un vrai code VBA. Vous prenez donc (1) crée à partir de la classe Salle_de_bain, vous prenez une instance de la classe Baignoire.
.1. objet
L’accès aux objets se fait comme suit :
nom_de_la_classe(“Nom de l’instance de cette classe”)
le big des big objets, c’est …, qui désigne par exemple Microsoft Excel.
l’Application
Pour Excel, c’est un peu la même chose : le big des big objets, c’est Application, qui désigne l’application Microsoft Excel.
Lui-même contient (1), qui regroupe tous les classeurs Workbook ouverts. Et Workbook contient …, qui contient toutes les feuilles Worksheet du classeur désigné.
(1) la classe Workbooks
(2) la classe Worksheets
Nous allons faire nos débuts en POO avec la méthode … (qui vous amène) là où vous lui demandez.
Activate, qui active