vba excel 2000 - livret d'exercices
TRANSCRIPT
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
1/20
EExxeerrcciicceess
VVBBAAEExxcceell
MMEERRCCIIDDEELLAAIISSSSEERRCCEELLIIVVRREETT
DDAANNSSLLAASSAALLLLEE..
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
2/20
Exercices VBA Excel Dcembre 2001
Page 2 sur 20 Laurent DUPRAT
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
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
3/20
FONCTIONS
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
4/20
Exercices VBA Excel Fonctions Dcembre 2001
Page 4 sur 20 Laurent DUPRAT
Age (1)
Objectif :
Crer une fonction de calcul 30 minLaurent DUPRAT
Consignes de ralisation :
Crer le tableau ci-dessous
Crer une fonction age qui renvoie lge par rapport la date saisie avec un format
personnalis (ans ou an en fonction du nombre dannes).
Utiliser cette fonction dans les cellules B2et 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()
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
5/20
Dcembre 2001 Fonctions Exercices VBA Excel
Laurent DUPRAT Page 5 sur 20
Franc Euro
Objectif :
Crer une fonction de calcul 30 minLaurent DUPRAT
Consignes de ralisation :
Crer le tableau ci-dessous
Crer une fonction FrancEuro(montant;code)qui permet de renvoyer le montant dans la
devise souhaite en fonction dun code saisi par lutilisateur (par exemple, 1 pour
transformation des Francs en Euros, 2 pour transformation des Euros en Francs).
Prvoir un message derreur lorsque lutilisateur ne saisit pas le bon code permettant la
transformation du montant dsir.
Utiliser cette fonction dans les cellules B2et A3avec les bons paramtres.
Tester, dans une autre cellule, la fonction avec un mauvais code.
Enregistrer le fichier sous le nom FrancEuro.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
6/20
Exercices VBA Excel Fonctions Dcembre 2001
Page 6 sur 20 Laurent DUPRAT
Facture
Objectif :
Crer une fonction de calcul 30 minLaurent DUPRAT
Consignes de ralisation :
Ouvrir le fichier Facture.xls.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
7/20
Dcembre 2001 Fonctions Exercices VBA Excel
Laurent DUPRAT Page 7 sur 20
Crer une fonction MonTauxqui renvoie le taux correspondant au montant du brut :
Brut : Taux :
Jusqu 2 000 F (exclus) Pas de remise
De 2 000 F 4 000 F (exclus) 1 %De 4 000 F 6 000 F (exclus) 2 %
De 6 000 F 8 000 F (exclus) 3 %
De 8 000 F 10 000 F (exclus) 4 %
De 10 000 F 12 000 F (exclus) 5 %
De 12 000 F 14 000 F (exclus) 6 %
De 14 000 F 16 000 F (exclus) 7 %
De 16 000 F 18 000 F (exclus) 8 %
De 18 000 F 20 000 F (exclus) 9 %
A partir de 20 000 F 10 %
Utiliser cette fonction dans la cellule D19.
Effectuer des tests.
Enregistrer le fichier.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
8/20
Exercices VBA Excel Fonctions Dcembre 2001
Page 8 sur 20 Laurent DUPRAT
Age (2)
Objectif :
Gnraliser une fonction de calcul 30 minLaurent DUPRAT
Consignes de ralisation :
Ouvrir le classeur Agecontenant la fonctionage.
Enregistrer ce classeur comme Macro complmentaire Microsoft Excel.
Activer la macro complmentaire Agedans Outils Macros complmentaires
Fermer le classeur Age.
Dans un nouveau classeur, tester la fonction ageen passant par lAssistant Fonction .
Un fois le test effectu, dsactiver la macro complmentaire et supprimer le fichier dans le
dossier des Macros complmentaires
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
9/20
MACROS
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
10/20
Exercices VBA Excel Macros Dcembre 2001
Page 10 sur 20 Laurent DUPRAT
Tableau (1)
Objectif :
Crer une macro 20 minLaurent DUPRAT
Consignes de ralisation :
Nous allons enregistrer une macro permettant de raliser ce tableau :
Enregistrer la macro TableauAutoqui permet de tracer un petit tableau :
Slectionner les 6 premires cellules (de A1 A6)
Faire le contourSlectionner la premire cellule (A1)
Faire la bordure du bas
Remplir avec une couleur
Autoriser un retour la ligne, centrer le contenu horizontalement et verticalement.
Slectionner toutes les cellules constituant le tableau final (de A1 D6)
Recopier vers la droite (menu dition)
Slectionner la premire cellule (A1)
Remarque : cette macro devra raliser ce petit tableau partir de la cellule active (celle
slectionne par lutilisateur).
Afficher le code de la macro TableauAutoet supprimer le code inutile.
Remarque : si vous ntes pas sr, vous pouvez saisir un apostrophe devant la ligne dun code
plutt que de la supprimer. Celle-ci est transforme en commentaire et nest donc plus
excute.
Tester la macro dans une cellule quelconque.
Enregistrer le fichier sous le nom TableauAuto.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
11/20
Dcembre 2001 Macros Exercices VBA Excel
Laurent DUPRAT Page 11 sur 20
Tableau (2)
Objectif :
Modifier une macro 20 minLaurent DUPRAT
Consignes de ralisation :
Nous allons modifier la macro TableauAutopour que lutilisateur puisse indiquer le nombre
de colonnes et de lignes dsirs dans des botes de saisie.
Lutilisateur sera inform de la cration du tableau par cette bote :
Remarques :
Pour demander lutilisateur de saisir une information, utiliser le code VBA inputbox
Pour afficher une information, utiliser le code VBA msgbox
Pour slectionner une plage de cellules, utiliser le code VBA range(Cellule1,Cellule2).select
avec sa proprit Offset pour se dplacer de x lignes et y colonnes.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
12/20
Exercices VBA Excel Macros Dcembre 2001
Page 12 sur 20 Laurent DUPRAT
Visites
Objectif :
Crer une macro permettant de modifier un graphique 30 minLaurent DUPRAT
Consignes de ralisation :
Chaque jour, le Directeur dun office de tourisme souhaite comptabiliser en temps rel et par
pays dorigine, le nombre de personnes venant chercher des informations.
Un clic sur le bouton dun pays augmentera la valeur des visites (stocke dans la cellule du
dessus).
Prparer la feuille : partir des donnes saisies, raliser le graphique en histogramme
(personnaliser chaque barre avec limage souhaite).
Enregistrer la macro Initqui permet deffacer le contenu des cellules servant raliser le
graphique.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
13/20
Dcembre 2001 Macros Exercices VBA Excel
Laurent DUPRAT Page 13 sur 20
Crer la macro Compteur1qui slectionne la cellule contenant les visites de la France et
qui ajoute 1 sa valeur
Dupliquer la macro Compteur1et modifier les paramtres voulus pour chaque pays.
Crer un bouton par pays
Affecter chaque bouton, la macro correspondante (utiliser la barre doutils Formulaires).
Enregistrer le fichier sous le nom Visites.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
14/20
Exercices VBA Excel Macros Dcembre 2001
Page 14 sur 20 Laurent DUPRAT
Changer la casse
Objectif :
Crer une macro 30 minLaurent DUPRAT
Consignes de ralisation :
Saisir les informations ci-dessous :
Crer la macro MinToMaj qui permet de mettre en majuscules le contenu de chaque
cellule slectionne.
(pour cela, il faut compter le nombre de cellules dans la slection puis, avec une boucle,
changer la casse, cellule par cellule)
Remarque : pour transformer des minuscules en majuscules, utiliser la fonction UCase
Dupliquer la macro prcdente pour crer la macro MajToMinqui permet de mettre en
minuscules le contenu de chaque cellule slectionne.
Remarque : pour transformer des majuscules en minuscules, utiliser la fonction LCase
Tester les deux macros sur des slections diffrentes.
Enregistrer le classeur sous le nom Casse.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
15/20
Dcembre 2001 Macros Exercices VBA Excel
Laurent DUPRAT Page 15 sur 20
Calendrier
Objectif :
Crer une macro 1 heureLaurent DUPRAT
Consignes de ralisation :
Ouvrir le fichier Calendrier:
Pour mettre jour ce calendrier, il suffit de saisir la premire 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 grises).
Enregistrer une macro Gris qui grise les deux cellules cte cte partir de la cellule
active puis qui passe la cellule du dessous.
Enregistrer une macro Transparentqui rend les deux cellules cte cte transparentes
partir de la cellule active puis qui passe la cellule du dessous.
Cliquer dans une cellule contenant une date (par exemple A4) puis excuter la macro
souhaite (Transparent ou Gris) en fonction de la date.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
16/20
Exercices VBA Excel Macros Dcembre 2001
Page 16 sur 20 Laurent DUPRAT
Crer la macro MiseEnForme qui excute lune des macros existantes (Transparent ou
Gris) en fonction de la date pour une colonne entire (un mois).
Tester la macro sur plusieurs colonnes.
Modifier ventuellement la macro pour quelle fonctionne dans tous les cas.
Remarques :
Vous devez griser les cellules lorsquil ny a pas de date.
Vous trouverez lquivalent de la fonction Excel JOURSEM en code VBA.
Modifier la macro prcdente pour quelle mette en forme lensemble du planning (les
douze mois).
Remarque : la macro sexcutera toujours partir de la cellule A4 et reviendra en cellule B4.
Tester la macro.
Protger la feuille
Prparer la protection :
Dverrouiller les cellules dans lesquelles lutilisateur pourra saisir des informations (par
exemple, A1, B4:B34, ...)
Masquer les cellules contenant les formules de calcul pour quelles napparaissent pas
dans la barre de formule.
Protger la feuille.
Tester la macro.
Celle-ci ne peut pas sexcuter du fait de la protection.
Modifier la macro.
Tester la macro.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
17/20
Dcembre 2001 Macros Exercices VBA Excel
Laurent DUPRAT Page 17 sur 20
Onglets (1)
Objectif :
Crer une macro30 min
Laurent DUPRAT
Consignes de ralisation :
Crer une macro qui permet dattribuer chacune des feuilles dun classeur le nom du
dpartement saisi dans la cellule B1de chaque feuille.
Feuil1
Feuil2
Feuil3
Enregistrer le classeur sous le nom NomFeuilles.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
18/20
Exercices VBA Excel Macros Dcembre 2001
Page 18 sur 20 Laurent DUPRAT
Onglets (2)
Objectif :
Crer une macro 30 minLaurent DUPRAT
Consignes de ralisation
Crer une macro qui permet de trier automatiquement les feuilles du classeur
NomFeuillespar ordre alphabtique.
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
19/20
Fin des exercices
-
7/26/2019 VBA Excel 2000 - Livret d'Exercices
20/20