Table des matières
Activité 5 : Programmation objet avec et VBA
Utilisez le même fichier Excel td_excel_1.xls contenant le modèle de facture que vous devez utiliser.
Introduction à la programmation objet VBA
Dans Excel, les classeurs, les feuilles de calcul et les plages de cellules sont des objets que vous pouvez manipuler avec VBA pour :
- accéder à ces objets,
- les interroger et modifier leurs propriétés,
- utiliser des méthodes (les actions qu'il est possible de faire) et gérer des événements comme l'ouverture d'un document ou le clic de la souris.
Il est souhaitable aussi de pourvoir gérer les erreurs lors de l'usage des objets. Mais cela ne sera pas abordé dans les activités qui vont suivent. Il s'agit de faire une première approche de la programmation objet en se familiarisant avec la syntaxe générale des instructions VBA et les principaux objets d’Excel.
Travail à faire
Accéder à un classeur
Créez un deuxième classeur Excel appelé CLasseur2 (en plus du classeur tdexcel1.xls ) et ouvrez-le. Ajoutez deux feuilles de calcul à ce nouveau classeur. Vous devez avoir ces deux classeurs ouverts. Sélectionnez (activez) le classeur tdexcel1.xls et écrivez dans le module DCG de ce classeur une procédure ActiveClasseur2() qui active le second classeur Classeur2.xlsx. Code VBA à utiliser : <code vb> Workbooks(“Classeur2.xlsx”).Activate </code> ==== Accéder à une feuille d’un classeur ==== Toujours à partir du classeur tdexcel1.xls , complétez votre procédure ActiveClasseur2() pour activez la feuille Feuil3 du classeur Classeur2.xlsx. Code VBA à utiliser : <code vb> Worksheets(“Feuil3”).Select </code> ==== Accéder à une cellule ==== Toujours à partir du classeur tdexcel1.xls , complétez votre procédure ActiveClasseur2() pour activez, dans la feuille Feuil3 du classeur Classeur2.xlsx, la cellule B2 : Code VBA à utiliser : <code vb> Range(“B2”).Select </code>
À la place de Range(“B2”), vous pouvez écrire Cells(2, 2).
==== Sélectionner une plage de cellules ==== Toujours à partir du classeur tdexcel1.xls , complétez votre procédure ActiveClasseur2() pour activez, dans la feuille Feuil3 du classeur Classeur2.xlsx, la plage de cellules de A1 à C3 et rendre active la cellule B3. Code VBA à utiliser : <code vb> Range(“A1:C3”).Select Range(“B3”).Activate </code> ==== Connaître le nom d’une feuille de calcul ==== Toujours à partir du classeur tdexcel1.xls , créez une procédure InformationActiveClasseur2() pour activez, dans la feuille Feuil3 du classeur Classeur2.xlsx, la plage de cellules de A1 à C3 et rendre active la cellule B3. Code VBA à utiliser : <code vb> Range(“A1:C3”).Select Range(“B3”).Activate </code> ==== Modifier les propriétés d’un objet ==== Toujours à partir du classeur tdexcel1.xls , complétez la procédure InformationActiveClasseur2() pour renommer la feuille Feuil3 du classeur Classeur2.xlsx en lui donnant le nom Information. Code VBA à utiliser : <code vb> Dim wksFeuille As Worksheet Set wksFeuille = Workbooks(“Classeur2.xlsx”).Worksheets(3) wksFeuille.Name = “Information” </code>
- L'instrucion Set permet de créer une variable objet wksFeuille, de préciser que cette variable est de type objet feuille de calcul (Worksheet ) et de lui affecter la feuille numéro 3 du classeur.
- l'instruction suivante permet d'indiquer plus simplement le nouveau nom de la feuille 3. Sinon on aurait pu écrire :
Workbooks("Classeur2.xlsx").Worksheets(3).Name = "Information"
ou
Workbooks("Classeur2.xlsx").Worksheets("Feuil3").Name = "Information"
==== Retour au menu de Excel & VBA ====