VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA



Documents pareils
PROGRAMMATION EVENEMENTIELLE sur EXCEL

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Formation VBA 3 Interagir

Visual Basic for Applications

FORMATION au VBA Pour EXCEL. Version 2007 & +

Initiation à VBA pour Excel. Philippe Bernard Ingénierie Economique et Financière Université Paris-Dauphine

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Comment créer et utiliser une fonction

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

TABLEAU CROISE DYNAMIQUE

Excel 2007 Niveau 3 Page 1

TD3 - Facturation avec archivage automatisé

Formations 2015 Bureautique

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

GUIDE Excel (version débutante) Version 2013

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Parcours FOAD Formation EXCEL 2010

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Le cas «BOURSE» annexe

Créer le schéma relationnel d une base de données ACCESS

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

MEDIAplus elearning. version 6.6

Créer des étiquettes avec les adresses d'un tableau Calc

Programmation VBA. Excel Daniel-Jean David. et Groupe Eyrolles, 2014, ISBN :

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Le cas «BOURSE» annexe

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Algorithmique et programmation : les bases (VBA) Corrigé

CATALOGUE DES FORMATIONS 2014

Access 2007 FF Access FR FR Base

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Cours Excel : les bases (bases, texte)

TABLEAU CROISE DYNAMIQUE

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

EXCEL TUTORIEL 2012/2013

Business Intelligence

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Module 1 : Tableau de bord Excel * 2010 incl.*

1 TD 2 : Construction d'une chier Acrobat et envoi par

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

EXCEL PERFECTIONNEMENT CALCULS AVANCES

Groupe Eyrolles, 2003, ISBN : X

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

Listes de validation dans OpenOffice Calc

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

Préparation à l examen EFA en Macro

F0RMAT I0N BUREAUTIQUE

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Note de cours. Introduction à Excel 2007

COURS DE MS EXCEL 2010

PARAMETRER INTERNET EXPLORER 9

Formation des utilisateurs du SIFE 2.0 Services de garde d enfants

Business Intelligence simple et efficace

Visual Basic.NET Interaction avec Excel

A. Introduction. Chapitre 7

.NET - Classe de Log

SQL Server 2012 Administration d une base de données transactionnelle

Chapitre 2 Créer son site et ses pages avec Google Site

Formation Excel - VBA débutant

Notes pour l utilisation d Expression Web

ASTUCES VBA Excel BO

Edutab. gestion centralisée de tablettes Android

Application 1- VBA : Test de comportements d'investissements

Créer son compte del.icio.us

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

SOMMAIRE. Savoir utiliser les services de l'ent Outils collaboratifs

CATALOGUE DES FORMATIONS

Centre de formation: Collège IBN BASSAM - TEMARA. Ce cours est proposé par le professeur d informatique:

Manuel d utilisation NETexcom

Cours Access 1) INTRODUCTION AU SGBD...4 2) LES TABLES...4

Outils de productivité, Outils de productivité

Création de Sous-Formulaires

Cegid - Business Suite Comptabilité

Gestion du parc informatique des collèges du département du Cher. Manuel d utilisation de la solution de gestion de Parc

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Tâches planifiées. Chapitre Introduction

Introduction à Expression Web 2

Paginer les données côté serveur, mettre en cache côté client

Traitement de texte : Quelques rappels de quelques notions de base

Utilisation de l éditeur.

Créer son blog pas à pas

NOS FORMATIONS EN BUREAUTIQUE

Utiliser un tableau de données

Plate-forme de travail collaboratif Agorazimut

Stockez et organisez vos données sous Excel. Une approche systématique, structurée et simplifiée

Utiliser le site learningapps.org pour créer des activités interactives

Les différents types de relation entre les tables

Ecran principal à l ouverture du logiciel

Transcription:

Editions ENI VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA Collection Ressources Informatiques Extrait

Chapitre 8 A. Présentation Un événement est une action utilisateur ou système reconnue par un objet Microsoft Excel. Il déclenche la procédure événementielle associée à l'événement de l'objet activé. Les procédures événementielles vous permettent d'associer un code personnalisé en réponse à un événement qui se produit sur un objet Excel (classeur, feuille, formulaire, graphique...). B. Écriture des événements 1. Événements de classeur, de feuille ou de formulaire Vous pouvez accéder aux procédures événementielles associées à un objet de la façon suivante : Dans la fenêtre Explorateur de projet, double cliquez sur l'objet souhaité (classeur, feuille, ou formulaire) afin de faire apparaître la fenêtre de code correspondante. Ouvrez la liste déroulante de gauche de la fenêtre de code et sélectionnez Workbook, Worksheet ou UserForm en fonction de l'objet sélectionné. 264 VBA Excel 2010

Gestion des événements Vous pouvez alors sélectionner l'un des événements liés à l'objet sélectionné dans la liste déroulante de droite afin de lui associer un code personnalisé. Vous pouvez à tout moment désactiver l'exécution des procédures événementielles en affectant False à la propriété EnableEvents de l'objet Application. Exemple Cet exemple montre comment obtenir l'historique de tous les liens hypertextes qui ont été visités à partir de la feuille de calcul active. Editions ENI - All rights reserved Programmer sous Excel : Macros et langage VBA 265

Chapitre 8 Résultat dans Excel : 2. Événements de l'objet Application Trois étapes sont nécessaires à l'écriture et à l'exécution des événements de l'objet Application. Étape 1 Insérez un module de classe : Insertion Module de classe ou ouvrez la liste et cliquez sur Module de classe. Une fois le module inséré, nommez-le. Exemple Nommez le module de classe ObjApplication. Étape 2 Dans le module de classe, créez un objet Application par le code suivant : Public WithEvents NomObjet As Application 266 VBA Excel 2010

Gestion des événements Exemple Création de l'objet appelé MonAppli en tant qu'application. Public WithEvents MonAppli As Application L'objet ainsi créé devient disponible dans la liste de gauche du module. Sélectionnez l'objet ainsi créé dans la liste de gauche du module puis sélectionnez l'événement attendu dans la liste de droite. Écrivez le code des procédures à générer. Exemple Création de deux procédures événementielles : la première concerne l'insertion d'une nouvelle feuille, la seconde la création d'un nouveau classeur. Editions ENI - All rights reserved Public WithEvents MonAppli As Excel.Application Private Sub MonAppli_WorkbookNewSheet _ (ByVal Wb As Workbook, ByVal Sh As Object) Dim NomFeuille As String ' A chaque ajout de feuille, on demande à l'utilisateur ' de saisir un nom qui sera ensuite affecté à la feuille insérée ' après les feuilles existantes NomFeuille = InputBox("Entrez le nom de la feuille") ActiveSheet.Name = NomFeuille ActiveSheet.Move After:=Sheets(Sheets.Count) End Sub Private Sub MonAppli_NewWorkbook(ByVal Wb As Workbook) Dim NbFeuilles As Integer Dim NbActuel As Integer Dim Différence As Integer ' Pour chaque nouveau classeur, ' on demande à l'utilisateur le nombre de feuilles ' Suivant les cas, on ajoute ou on supprime des feuilles Do NbFeuilles = Application.InputBox _ ("Nombre de feuilles?", Type:=1) Loop While NbFeuilles = False NbActuel = Sheets.Count Différence = NbActuel - NbFeuilles ' Suppression des feuilles en trop ' Suppression des messages d'alerte afin de ne pas ' avoir de message lors de la suppression de feuilles Programmer sous Excel : Macros et langage VBA 267

Chapitre 8 Do While Différence > 0 Application.DisplayAlerts = False Sheets.Item(Différence).Select ActiveWindow.SelectedSheets.Delete Différence = Différence - 1 Loop ' Ajout de feuilles si nécessaire ' Les événements sont désactivés afin de ne pas avoir ' à saisir le nom des nouvelles feuilles Do While Différence < 0 Application.EnableEvents = False Sheets.Add Différence = Différence + 1 Loop ' Réactivation des événements et alertes Application.EnableEvents = True Application.DisplayAlerts = True End Sub Étape 3 Activez un module quelconque et connectez l'objet déclaré dans le module de classe avec l'objet Application par les instructions suivantes : Dim NomVariable As New NomModuleDeClasse Sub NomProcédure () Set NomVariable.NomObjet = Application End Sub Exemple Ajoutez le code suivant dans le module Déclarations. Option Explicit Dim app As New ObjApplication Sub InitializeMonAppli() Set app.monappli = Application End Sub 268 VBA Excel 2010

Enfin appelez la procédure InitializeMonAppli lors de l'ouverture du classeur (module de classe ThisWorkbook). Private Sub Workbook_Open() InitializeMonAppli End Sub Lorsque ce classeur sera ouvert, les procédures événementielles créées au cours de l'étape 2 s'exécuteront automatiquement lors de l'ajout de classeurs ou de feuilles. Ces procédures seront désactivées à la fermeture du classeur. 3. Événement d'un graphique incorporé La collection Charts (de l'objet Workbook) contient tous les graphiques du classeur spécifié. Trois étapes sont nécessaires à l'écriture et à l'exécution des événements d'un graphique incorporé. Étape 1 Insérez un module de classe : Insertion Module de classe ou ouvrez la liste et cliquez sur Module de classe. Une fois le module inséré, nommez-le. Exemple Gestion des événements Editions ENI - All rights reserved Nommez le module de classe ObjGraphiques. Étape 2 Dans le module de classe, créez un objet de type graphique par le code suivant : Public WithEvents NomObjet As Chart Programmer sous Excel : Macros et langage VBA 269

Editions ENI Excel 2010 Macros et programmation en VBA Collection Cahiers d exercices Extrait

Énoncés 7 Travaux sur feuilles et classeurs EXCEL 2010 Macros et programmation en VBA 7.1 CRÉER DES FEUILLES 71 7.2 CRÉER DES FEUILLES (2) 72 7.3 SUPPRESSION DE FEUILLES 72 7.4 RÉCUPÉRATION DE VALEURS 73 7.5 COULEUR D'ONGLET 73 7.6 COULEUR D'ONGLET PAR SECTEUR 74 7.7 COULEUR D'ONGLET PAR COMPTE COMPTABLE 75 7.8 CRÉER UNE FEUILLE PAR JOUR DU MOIS 75 7.9 SÉLECTION DE FEUILLE PAR LISTE DÉROULANTE FILTRÉE 76 7.10 PROTECTION DE FEUILLES 76

Cahier d exercices EXCEL 2010 - Macros et programmation en VBA PROPRIÉTÉS/FONCTIONS/MOTS CLÉS UTILISÉS Exercice n 1 2 3 4 5 6 7 8 9 10 Activate ActiveCell ActiveSheet ActiveWorkbook Application ClearContents ColorIndex Columns Count Date DateSerial Day DisplayAlerts For Format Goto If IIF Index InputBox Left Len Protect Range Right Select Case Sheets UCase WorkSheetFunction WorkSheets 70

Énoncés 7 Travaux sur feuilles et classeurs CRÉER DES FEUILLES 7.1 Concevez une macro qui permet de créer x feuilles et renommez-les de façon croissante avec une racine commune. Editions ENI Toute reproduction interdite corrigé p. 182 71

Cahier d exercices EXCEL 2010 - Macros et programmation en VBA CRÉER DES FEUILLES (2) 7.2 Concevez une petite macro qui permet de créer automatiquement des feuilles en fonction du nombre total de feuilles souhaité dans le classeur. Chaque feuille devra être renommée en vous référant à l écran ci-dessous. corrigé p. 183 SUPPRESSION DE FEUILLES 7.3 03-SupprFeuilles.xlsx Le classeur 03-SupprFeuilles.xlsx contient des feuilles dont la cellule B1 est formatée avec un remplissage rouge. Créez une macro qui permet de supprimer automatiquement toutes les feuilles dont la cellule B1 est formatée en rouge. corrigé p. 184 72

Énoncés 7 Travaux sur feuilles et classeurs RÉCUPÉRATION DE VALEURS 7.4 04-NouveauxClients.xlsx Le classeur 04-NouveauxClients.xlsx contient 12 feuilles de structure identique. Chaque feuille comprend des informations relatives à vos clients. Les nouveaux clients sont repérés par la valeur Oui dans la cellule B2. Créez une macro qui permet de faire apparaître verticalement dans la feuille NouvCli les noms des nouveaux clients. Les noms des nouveaux clients doivent être ajoutés à la fin de la liste existante et la cellule B2 remise à zéro. Feuille NouvCli : corrigé p. 185 COULEUR D'ONGLET 7.5 Editions ENI Toute reproduction interdite 05-CouleurOnglet.xlsx Le classeur 05-CouleurOnglet.xlsx contient 9 feuilles de structure identique. Ces feuilles (correspondant à des secteurs) intègrent un tableau dont la cellule D22 contient le total des ventes du secteur. Concevez une macro afin de définir la couleur de l'onglet de chacune des feuilles en fonction de la valeur de la cellule D22. Si la valeur de D22 est inférieure à 20000, paramétrez la couleur de l'onglet en rouge, sinon paramétrez-la en gris. corrigé p. 186 73

Cahier d exercices EXCEL 2010 - Macros et programmation en VBA COULEUR D'ONGLET PAR SECTEUR 7.6 06-CouleurSecteur.xlsx Le classeur 06-CouleurSecteur.xlsx comporte les mêmes feuilles que dans l exercice 7.5. Dans chaque feuille, a été rajouté le nom du chef de secteur. Paramétrez la couleur des onglets par chef de secteur en fonction du tableau cidessous. CHEF DE SECTEUR CERUTTI COUPET RICHARD MAUDUIT DUREGNE COULEUR ONGLET VERT JAUNE ROSE BLEU CLAIR VIOLET corrigé p. 186 74