Académique Documents
Professionnel Documents
Culture Documents
VBA Excel
Dcembre 2001
Fonctions ............................................................................................................... 3
Macros ................................................................................................................... 9
Page 2 sur 20
Laurent DUPRAT
FONCTIONS
Fonctions
Dcembre 2001
Age (1)
Objectif :
30 min
Laurent DUPRAT
Consignes de ralisation :
Crer une fonction age qui renvoie lge par rapport la date saisie avec un format
personnalis (ans ou an en fonction du nombre dannes).
Remarques :
Le calcul par fonctions serait :
=ENT((MAINTENANT()-ma_date)/365,25)
Format()
Page 4 sur 20
Laurent DUPRAT
Dcembre 2001
Fonctions
Franc Euro
Objectif :
Crer une fonction de calcul
30 min
Laurent DUPRAT
Consignes de ralisation :
Utiliser cette fonction dans les cellules B2 et A3 avec les bons paramtres.
Laurent DUPRAT
Page 5 sur 20
Fonctions
Dcembre 2001
Facture
Objectif :
Crer une fonction de calcul
30 min
Laurent DUPRAT
Consignes de ralisation :
Page 6 sur 20
Laurent DUPRAT
Dcembre 2001
Fonctions
Crer 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
Enregistrer le fichier.
Laurent DUPRAT
Taux :
Pas de remise
1%
2%
3%
4%
5%
6%
7%
8%
9%
10 %
Page 7 sur 20
Fonctions
Dcembre 2001
Age (2)
Objectif :
30 min
Laurent DUPRAT
Consignes de ralisation :
Dans un nouveau classeur, tester la fonction age en passant par lAssistant Fonction
Page 8 sur 20
Laurent DUPRAT
MACROS
Macros
Dcembre 2001
Tableau (1)
Objectif :
20 min
Laurent DUPRAT
Consignes de ralisation :
Nous allons enregistrer une macro permettant de raliser ce tableau :
Remarque : cette macro devra raliser ce petit tableau partir de la cellule active (celle
slectionne par lutilisateur).
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.
Page 10 sur 20
Laurent DUPRAT
Dcembre 2001
Macros
Tableau (2)
Objectif :
Modifier une macro
20 min
Laurent DUPRAT
Consignes de ralisation :
Nous allons modifier la macro TableauAuto pour que lutilisateur puisse indiquer le nombre
de colonnes et de lignes dsirs dans des botes de saisie.
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.
Laurent DUPRAT
Page 11 sur 20
Macros
Dcembre 2001
Visites
Objectif :
Crer une macro permettant de modifier un graphique
30 min
Laurent 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).
Enregistrer la macro Init qui permet deffacer le contenu des cellules servant raliser le
graphique.
Page 12 sur 20
Laurent DUPRAT
Dcembre 2001
Macros
Crer la macro Compteur1 qui slectionne la cellule contenant les visites de la France et
qui ajoute 1 sa valeur
Dupliquer la macro Compteur1 et modifier les paramtres voulus pour chaque pays.
Laurent DUPRAT
Page 13 sur 20
Macros
Dcembre 2001
Changer la casse
Objectif :
Crer une macro
30 min
Laurent DUPRAT
Consignes de ralisation :
Saisir les informations ci-dessous :
Dupliquer la macro prcdente pour crer la macro MajToMin qui permet de mettre en
minuscules le contenu de chaque cellule slectionne.
Remarque : pour transformer des majuscules en minuscules, utiliser la fonction LCase
Page 14 sur 20
Laurent DUPRAT
Dcembre 2001
Macros
Calendrier
Objectif :
Crer une macro
1 heure
Laurent DUPRAT
Consignes de ralisation :
Pour mettre jour ce calendrier, il suffit de saisir la premire date voulue dans la cellule A1.
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 Transparent qui 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.
Laurent DUPRAT
Page 15 sur 20
Macros
Dcembre 2001
Crer la macro MiseEnForme qui excute lune des macros existantes (Transparent ou
Gris) en fonction de la date pour une colonne entire (un mois).
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).
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.
Page 16 sur 20
Laurent DUPRAT
Dcembre 2001
Macros
Onglets (1)
Objectif :
Crer une macro
30 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 B1 de chaque feuille.
Feuil1
Feuil2
Feuil3
Laurent DUPRAT
Page 17 sur 20
Macros
Dcembre 2001
Onglets (2)
Objectif :
Crer une macro
30 min
Laurent DUPRAT
Consignes de ralisation
Crer une macro qui permet de trier automatiquement les feuilles du classeur
NomFeuilles par ordre alphabtique.
Page 18 sur 20
Laurent DUPRAT