Exercices VBA Excel
Transcription
Exercices VBA Excel
Exercices VBA Excel MERCI DE LAISSER CE LIVRET DANS LA SALLE. Exercices VBA Excel Décembre 2001 Fonctions ............................................................................................................... 3 • • • • Age (1) ......................................................................................................................................4 Franc Euro.................................................................................................................................5 Facture ......................................................................................................................................6 Age (2) ......................................................................................................................................8 Macros ................................................................................................................... 9 • • • • • • • Tableau (1) ..............................................................................................................................10 Tableau (2) ..............................................................................................................................11 Visites .....................................................................................................................................12 Changer la casse......................................................................................................................14 Calendrier................................................................................................................................15 Onglets (1) ..............................................................................................................................17 Onglets (2) ..............................................................................................................................18 Page 2 sur 20 © Laurent DUPRAT FONCTIONS Exercices VBA Excel Fonctions Décembre 2001 Age (1) Objectif : Créer une fonction de calcul 30 min Laurent DUPRAT Consignes de réalisation : • Créer le tableau ci-dessous • Créer une fonction age qui renvoie l’âge par rapport à la date saisie avec un format personnalisé (ans ou an en fonction du nombre d’années). • Utiliser cette fonction dans les cellules B2 et B3. • Enregistrer le fichier sous le nom Age. Remarques : Le calcul par fonctions serait : =ENT((MAINTENANT()-ma_date)/365,25) Le code VBA pour formater un calcul est : Format(…) Page 4 sur 20 © Laurent DUPRAT Décembre 2001 Fonctions Exercices VBA Excel Franc Euro Objectif : Créer une fonction de calcul 30 min Laurent DUPRAT Consignes de réalisation : • Créer le tableau ci-dessous • Créer une fonction FrancEuro(montant;code) qui permet de renvoyer le montant dans la devise souhaitée en fonction d’un code saisi par l’utilisateur (par exemple, 1 pour transformation des Francs en Euros, 2 pour transformation des Euros en Francs). Prévoir un message d’erreur lorsque l’utilisateur ne saisit pas le bon code permettant la transformation du montant désiré. • Utiliser cette fonction dans les cellules B2 et A3 avec les bons paramètres. • Tester, dans une autre cellule, la fonction avec un mauvais code. • Enregistrer le fichier sous le nom FrancEuro. © Laurent DUPRAT Page 5 sur 20 Exercices VBA Excel Fonctions Décembre 2001 Facture Objectif : Créer une fonction de calcul 30 min Laurent DUPRAT Consignes de réalisation : • Ouvrir le fichier Facture.xls. Page 6 sur 20 © Laurent DUPRAT Décembre 2001 • Fonctions Exercices VBA Excel Créer une fonction MonTaux qui renvoie le taux correspondant au montant du brut : Brut : Jusqu’à 2 000 F (exclus) De 2 000 F à 4 000 F (exclus) De 4 000 F à 6 000 F (exclus) De 6 000 F à 8 000 F (exclus) De 8 000 F à 10 000 F (exclus) De 10 000 F à 12 000 F (exclus) De 12 000 F à 14 000 F (exclus) De 14 000 F à 16 000 F (exclus) De 16 000 F à 18 000 F (exclus) De 18 000 F à 20 000 F (exclus) A partir de 20 000 F • Utiliser cette fonction dans la cellule D19. • Effectuer des tests. • Enregistrer le fichier. © Laurent DUPRAT Taux : Pas de remise 1% 2% 3% 4% 5% 6% 7% 8% 9% 10 % Page 7 sur 20 Exercices VBA Excel Fonctions Décembre 2001 Age (2) Objectif : Généraliser une fonction de calcul 30 min Laurent DUPRAT Consignes de réalisation : • Ouvrir le classeur Age contenant la fonction age. • Enregistrer ce classeur comme Macro complémentaire Microsoft Excel. • Activer la macro complémentaire Age dans Outils Macros complémentaires… • Fermer le classeur Age. • Dans un nouveau classeur, tester la fonction age en passant par l’Assistant Fonction • Un fois le test effectué, désactiver la macro complémentaire et supprimer le fichier dans le dossier des Macros complémentaires Page 8 sur 20 . © Laurent DUPRAT MACROS Exercices VBA Excel Macros Décembre 2001 Tableau (1) Objectif : Créer une macro 20 min Laurent DUPRAT Consignes de réalisation : Nous allons enregistrer une macro permettant de réaliser ce tableau : • Enregistrer la macro TableauAuto qui permet de tracer un petit tableau : Sélectionner les 6 premières cellules (de A1 à A6) Faire le contour Sélectionner la première cellule (A1) Faire la bordure du bas Remplir avec une couleur Autoriser un retour à la ligne, centrer le contenu horizontalement et verticalement. Sélectionner toutes les cellules constituant le tableau final (de A1 à D6) Recopier vers la droite (menu édition) Sélectionner la première cellule (A1) Remarque : cette macro devra réaliser ce petit tableau à partir de la cellule active (celle sélectionnée par l’utilisateur). • Afficher le code de la macro TableauAuto et supprimer le code inutile. Remarque : si vous n’êtes pas sûr, vous pouvez saisir un apostrophe devant la ligne d’un code plutôt que de la supprimer. Celle-ci est transformée en commentaire et n’est donc plus exécutée. • Tester la macro dans une cellule quelconque. • Enregistrer le fichier sous le nom TableauAuto. Page 10 sur 20 © Laurent DUPRAT Décembre 2001 Macros Exercices VBA Excel Tableau (2) Objectif : Modifier une macro 20 min Laurent DUPRAT Consignes de réalisation : Nous allons modifier la macro TableauAuto pour que l’utilisateur puisse indiquer le nombre de colonnes et de lignes désirés dans des boîtes de saisie. L’utilisateur sera informé de la création du tableau par cette boîte : Remarques : Pour demander à l’utilisateur de saisir une information, utiliser le code VBA inputbox Pour afficher une information, utiliser le code VBA msgbox Pour sélectionner une plage de cellules, utiliser le code VBA range(Cellule1,Cellule2).select avec sa propriété Offset pour se déplacer de x lignes et y colonnes. © Laurent DUPRAT Page 11 sur 20 Exercices VBA Excel Macros Décembre 2001 Visites Objectif : Créer une macro permettant de modifier un graphique 30 min Laurent DUPRAT Consignes de réalisation : Chaque jour, le Directeur d’un office de tourisme souhaite comptabiliser en temps réel et par pays d’origine, le nombre de personnes venant chercher des informations. Un clic sur le bouton d’un pays augmentera la valeur des visites (stockée dans la cellule du dessus). • Préparer la feuille : à partir des données saisies, réaliser le graphique en histogramme (personnaliser chaque barre avec l’image souhaitée). • Enregistrer la macro Init qui permet d’effacer le contenu des cellules servant à réaliser le graphique. Page 12 sur 20 © Laurent DUPRAT Décembre 2001 Macros Exercices VBA Excel • Créer la macro Compteur1 qui sélectionne la cellule contenant les visites de la France et qui ajoute 1 à sa valeur • Dupliquer la macro Compteur1 et modifier les paramètres voulus pour chaque pays. • Créer un bouton par pays • Affecter à chaque bouton, la macro correspondante (utiliser la barre d’outils Formulaires). • Enregistrer le fichier sous le nom Visites. © Laurent DUPRAT Page 13 sur 20 Exercices VBA Excel Macros Décembre 2001 Changer la casse Objectif : Créer une macro 30 min Laurent DUPRAT Consignes de réalisation : Saisir les informations ci-dessous : • Créer la macro MinToMaj qui permet de mettre en majuscules le contenu de chaque cellule sélectionnée. (pour cela, il faut compter le nombre de cellules dans la sélection puis, avec une boucle, changer la casse, cellule par cellule) Remarque : pour transformer des minuscules en majuscules, utiliser la fonction UCase • Dupliquer la macro précédente pour créer la macro MajToMin qui permet de mettre en minuscules le contenu de chaque cellule sélectionnée. Remarque : pour transformer des majuscules en minuscules, utiliser la fonction LCase • Tester les deux macros sur des sélections différentes. • Enregistrer le classeur sous le nom Casse. Page 14 sur 20 © Laurent DUPRAT Décembre 2001 Macros Exercices VBA Excel Calendrier Objectif : Créer une macro 1 heure Laurent DUPRAT Consignes de réalisation : • Ouvrir le fichier Calendrier : Pour mettre à jour ce calendrier, il suffit de saisir la première date voulue dans la cellule A1. • Remplacer la date actuelle par 01/01/01. Le calendrier ce met à jour. Seule la mise en forme ne change pas (cellules transparentes ou grisées). • Enregistrer une macro Gris qui grise les deux cellules côte à côte à partir de la cellule active puis qui passe à la cellule du dessous. • Enregistrer une macro Transparent qui rend les deux cellules côte à côte transparentes à partir de la cellule active puis qui passe à la cellule du dessous. • Cliquer dans une cellule contenant une date (par exemple A4) puis exécuter la macro souhaitée (Transparent ou Gris) en fonction de la date. © Laurent DUPRAT Page 15 sur 20 Exercices VBA Excel Macros Décembre 2001 • Créer la macro MiseEnForme qui exécute l’une des macros existantes (Transparent ou Gris) en fonction de la date pour une colonne entière (un mois). • Tester la macro sur plusieurs colonnes. Modifier éventuellement la macro pour qu’elle fonctionne dans tous les cas. Remarques : Vous devez griser les cellules lorsqu’il n’y a pas de date. Vous trouverez l’équivalent de la fonction Excel JOURSEM en code VBA. • Modifier la macro précédente pour qu’elle mette en forme l’ensemble du planning (les douze mois). Remarque : la macro s’exécutera toujours à partir de la cellule A4 et reviendra en cellule B4. • Tester la macro. • Protéger la feuille Préparer la protection : Déverrouiller les cellules dans lesquelles l’utilisateur pourra saisir des informations (par exemple, A1, B4:B34, ...) Masquer les cellules contenant les formules de calcul pour qu’elles n’apparaissent pas dans la barre de formule. Protéger la feuille. • Tester la macro. Celle-ci ne peut pas s’exécuter du fait de la protection. • Modifier la macro. • Tester la macro. Page 16 sur 20 © Laurent DUPRAT Décembre 2001 Macros Exercices VBA Excel Onglets (1) Objectif : Créer une macro 30 min Laurent DUPRAT Consignes de réalisation : • Créer une macro qui permet d’attribuer à chacune des feuilles d’un classeur le nom du département saisi dans la cellule B1 de chaque feuille. Feuil1 Feuil2 Feuil3 • Enregistrer le classeur sous le nom NomFeuilles. © Laurent DUPRAT Page 17 sur 20 Exercices VBA Excel Macros Décembre 2001 Onglets (2) Objectif : Créer une macro 30 min Laurent DUPRAT Consignes de réalisation • Créer une macro qui permet de trier automatiquement les feuilles du classeur NomFeuilles par ordre alphabétique. Page 18 sur 20 © Laurent DUPRAT Fin des exercices
Documents pareils
EXCEL VBA Initiation à la Programmation
- Possibilité d’apporter nos PC portables + Vidéoprojecteur sur site
Microsoft Excel VBA Initiation
Manipuler les modules (Insérer, Renommer, supprimer...)
Manipuler des objets (classeur, feuille, plage)
Découvrir les propriétés et méthodes
Affecter un objet et utiliser les variables d’objets