La programmation événementielle
Les composants d’une application événementielle interagissent entre eux et avec l’environnement. Ils communiquent en réponse à des événements. Ces événements peuvent correspondre à une action de l’utilisateur : un click sur un bouton de commande, une saisie dans une zone de texte, un choix dans une case d’option ou une case à cocher, le déplacement d’un objet, … Ils peuvent aussi être déclenchés par le système : chargement d’une feuille, un top déclenché par l’horloge, …
Le modèle objet d’Excel :
Il est le cœur de l’utilisation de VBA avec les applications de Microsoft office. Il fournit des commandes pour accéder aux classeurs et aux feuilles de calculs. Il est possible de manipuler des feuilles de calculs à l’aide d’instructions (écrites en Visual Basic) et de les associer à un événement (lors d’un click de souris sur une zone de cette feuille de calcul).
Lorsque vous manipulez Microsoft Excel, vous utilisez implicitement le code VBA. Par exemple, quand vous ouvrez un classeur, le code sous-jacent au menu Fichier Ouvrir utilise la même fonctionnalité que la commande « Workbooks.Open ». L’objet de la feuille de calcul manipulé ici correspond à Workbooks et la fonctionnalité associée Open.
Un objet se caractérise au travers de ses propriétés. Il se manipule à l’aide de ses méthodes (fonctions, procédures)
Nous étudierons ces objets (Workbook, Worksheet etc.) un peu plus tard.
L’environnement de développement d’Excel
• Ouvrir un nouveau document Excel
• Enregistrer le projet (TpVBA1.xls) dans votre répertoire de travail
• Alt+F11 (fonctionnalité réversible)
• Renommer l’objet « Feuil1 » en « gestion » :
o Selectionnez « Feuil1 » dans l’explorateur d’objet
o Visualisez les attributs (les caractéristiques) de l’objet « Feuil1 »
o Modifier le champ « name » afin d’effectuer ce changement de nom
• Renommer le classeur « thisWorkBook » en « classeur »
Exercice 1
Il s’agit ici de construire une feuille de calcul afin de calculer le montant cumulé des chiffres d’affaires d’une entreprise. Microsoft Excel permet, à l’aide de formules, d’automatiser des calculs. Qu’en est-il lorsque les traitements (calcul d’une remise, etc.) correspondent à des conditions internes à l’entreprise ?
• Dans la feuille « gestion » créer le tableau suivant
• Alt+F11
• Sélection d’un événement associé à la feuille de calcul
o Sélectionner la feuille « gestion » dans l’explorateur de projet
o Dans le menu déroulant de la feuille de droite, sélectionner l’objet « WorkSheet »
o Dans le menu déroulant de la feuille de droite, sélectionner la procédure « SelectionChange »
Cette fonction est associée à l’événement « SelectionChange ». Ainsi, lorsque l’utilisateur sélectionne une nouvelle zone (cellule) de la feuille « Gestion » les instructions présentes dans cette fonction seront exécutées.
• Copiez les deux lignes suivantes :
‘Utilisation de la fonction SOMME (sum) d’Excel gestion.Range(« B6 ») = application.WorksheetFunction.Sum(Range(« B3 », « B5 »))