Vous êtes sur la page 1sur 2

TD N°10 - ÉNONCÉ

>OBJECTIFS DU TD

Appel de fonction sur événement, Macro locales et globales, protection des macros

> Exercice 1 : Projet VBA & Excel

a) Ouvrir votre classeur obtenu au TD9 et enregistrer le sous TD10 (ou télécharger celui-ci :
TD10_Classeur.xlsm)
b) Ouvrir VBE (Visual Basic Editor) et retrouver le code des macros et fonctions
(Plage2Table, TVANormale,...)
c) Expliquez à quoi correspondent le dossier Modules et le dossier Objets de Microsoft Excel
dans un projet VBAProject (ici TD10_Classeur.xlsm)

> Exercice 2 : Appel d'une macro à l'ouverture d'un classeur

Nous allons écrire une macro qui se déclenche sur l'événement ouverture du classeur :
Vous êtes dans VBE (Visual Basic Editor).

a) Dans le dossier <Objets de Microsoft Excel>, dans <ThisWorkbook> ecrire :


Private Sub Workbook_Open()
'
' Macro qui se déclanche à l'événement ouverture du classeur
'
Call Who

End Sub

Function Who()
'
' Fonction Who : place le nom de l'utilisateur dans la cellule active
'
Dim nom As String
If Application.UserName <> "" Then
ActiveCell.Value = Application.UserName
End If
End Function

b) Une instruction est inutile dans ce code , Laquelle ? Pourquoi ?


c) Testez que cette fonction est bien appelée à l'ouverture du classeur
d) Modifiez le nom de l'utilisateur d'Excel
<Office>, <Options Excel> , <Personnaliser votre copie de Microsoft Office>.
e) Modifiez cette macro pour que si le nom de l'utilisateur est "user", "Utilisateur anonyme"
soit affiché.

> Exercice 3 : Démarrage d'une fonction lors d'une modification dans une
feuille de calcul
a) De la même façon, trouvez la manière de déclencher une fonction à chaque modification
dans une feuille de calcul.
b) Testez votre fonction
c) Donnez au moins deux autres événements pouvant être utilisés pour déclencher des macros

> Exercice 4 : Lancer une macro depuis un Bouton dans votre Macro

a) Trouvez comment insérer un Bouton dans votre feuille de calcul


b) Exécuter la Macro CalcTVANormale() en activant ce bouton.
c) Etudiez les autres formes de contrôles de formulaire et faites des essais.
Associez au moins un autre objet formulaire à une nouvelle Macro simple apellée
"TestObjetFormulaire()"

> Exercice 5 : Macro locale et macro globale

En VBA il existe la notion de "Macro Locale" et de "Macro Globale"


a) Expliquez la différence
b) Enregistrer une macro que vous sauver dans le "Classeur de macros Personnelles"
c) Quittez excel pour creer le classeur de macros personnelles
d) Le classeur "PERSONAL.XLSB" de sauvegarde des macro personnels est stocké dans le
dossier de démarrage d'Excel. Recherchez ce fichier sur votre disque.
e) Repérer le code que vous avez enregistrez.

> Exercice 6 : Protéger les fonctions

Il est possible de protéger vos fonctions pour qu'elles ne puissent pas être modifiées par
d'autres utilisateurs
a) Verrouillez votre projet pour l'affichage de façon à ce qu'un mot de passe soit demandé
pour autoriser les modifications de fonctions

Vous aimerez peut-être aussi