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

EXCEL VBA Initiation à la Programmation - Possibilité d’apporter nos PC portables + Vidéoprojecteur sur site

Plus en détail

Microsoft Excel VBA Initiation

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

Plus en détail