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 td_excel_1.xls ) et ouvrez-le. Ajoutez deux feuilles de calcul à ce nouveau classeur. Vous devez avoir ces deux classeurs ouverts.

Sélectionnez (activez) le classeur td_excel_1.xls et écrivez dans le module DCG de ce classeur une procédure ActiveClasseur2() qui active le second classeur Classeur2.xlsx.

Code VBA à utiliser :

Workbooks("Classeur2.xlsx").Activate

Accéder à une feuille d’un classeur

Toujours à partir du classeur td_excel_1.xls , complétez votre procédure ActiveClasseur2() pour activez la feuille Feuil3 du classeur Classeur2.xlsx.

Code VBA à utiliser :

Worksheets("Feuil3").Select

Accéder à une cellule

Toujours à partir du classeur td_excel_1.xls , complétez votre procédure ActiveClasseur2() pour activez, dans la feuille Feuil3 du classeur Classeur2.xlsx, la cellule B2 :

Code VBA à utiliser :

Range("B2").Select

À la place de Range(“B2”), vous pouvez écrire Cells(2, 2).

Sélectionner une plage de cellules

Toujours à partir du classeur td_excel_1.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 :

Range("A1:C3").Select Range("B3").Activate

Connaître le nom d’une feuille de calcul

Toujours à partir du classeur td_excel_1.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 :

Range("A1:C3").Select Range("B3").Activate

Modifier les propriétés d’un objet

Toujours à partir du classeur td_excel_1.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 :

Dim wksFeuille As Worksheet Set wksFeuille = Workbooks("Classeur2.xlsx").Worksheets(3) wksFeuille.Name = "Information"

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

Excel et VBA (Visual Basic pour Application)