Vous êtes sur la page 1sur 17

Créer une macro d’interface utilisateur

Dans Microsoft Access, les macros qui sont liées


aux utilisateurs(IU) interface objets tels que des
boutons de commande, zones de texte, formulaires
et états sont appelés macros d’interface utilisateur.
Cela les distingue des macros de données, qui sont
associés aux tables. Les macros (IU) vous permet
d’automatiser une série d’actions, comme
l’ouverture d’un autre objet, appliquer un filtre, en
commençant une opération d’exportation et bien
d’autres tâches. Cet article vous présente le
Générateur de macro et les tâches de base
impliquées dans la création une macro d’interface
utilisateur.

Présentation

Quelles sont les nouveautés

Créer une macro autonome

Créer une macro incorporée

Ajouter des actions à une macro

Contrôler le déroulement du programme avec


If, Else If et Else
Créer submacros

Regrouper les actions associées

Développer et réduire les actions de macro ou


des blocs

Copier et coller des actions de macro

Partager une macro avec d’autres personnes

Exécuter une macro

Déboguer une macro

Convertir une macro en code VBA

Vue d’ensemble

Les macros peuvent être contenues dans des


objets macro (parfois appelés macros autonomes),
ou elles peuvent être incorporées dans les
propriétés d’événement de formulaires, États ou les
contrôles. Une macro incorporée fait partie de
l’objet ou le contrôle dans lequel elle est intégrée.
Les objets macro sont visibles dans le volet de
Navigation, sous Macros; les macros incorporées
ne le sont pas.

Chaque macro est constituée d’un ou plusieurs


actions de macro. Selon le contexte que vous
utilisez, certaines actions de macro peuvent ne pas
être disponibles pour une utilisation. En particulier,
si vous concevez une base de données Web, vous
ne pourrez pas utiliser certaines actions de macro.

Quelles sont les nouveautés

Access propose un nouveau Concepteur de


création de macros à partir d’Access 2010. Voici
quelques-uns des avantages de cette nouvelle
conception :

 Catalogue d’actions : Les actions de macro sont


organisées par type et que vous pourrez rechercher.
 IntelliSense : Lorsque vous tapez des expressions,
IntelliSense suggère des valeurs possibles et vous
permet de sélectionner l’option correcte.
 Raccourcis clavier : Utilisez les combinaisons de
touches pour l’écriture de macro plus rapide et plus
facile.
 Flux de programme : Créer des macros plus lisibles
des lignes de commentaire et des groupes
d’actions.
 Instructions conditionnelles : Permettre
l’exécution logique plus complexe avec prise en
charge des If/Else/Else imbriquées.
 Réutilisation de macro : Le catalogue d’actions
affiche d’autres macros que vous avez créées, ce qui
vous permet de les copier dans celle sur laquelle
vous travaillez.
 Faciliter le partage : Copier une macro, puis collez-
la au format XML dans un message électronique,
message de News, blog ou code exemple de site
web.

Créer une macro autonome

Cette procédure crée un objet de macro autonome


qui s’affiche sous Macros dans le volet de
Navigation. Les macros autonomes sont utiles
lorsque vous souhaitez réutiliser la macro à divers
emplacements de l’application. En appelant la
macro à partir d’autres macros, vous pouvez éviter
de dupliquer le même code à plusieurs endroits.

1. Sous l’onglet créer, dans le groupe Macros et


Code, cliquez sur Macro.

Access ouvre le Générateur de Macro.


2. Dans la barre d’outils Accès rapide, cliquez
sur Enregistrer.
3. Dans la boîte de dialogue Enregistrer sous, tapez
un nom pour la macro, puis cliquez sur OK.
4. Passez à la section Ajouter des actions à une
macro.

Créer une macro incorporée

Cette procédure crée une macro qui est incorporée


dans une propriété de type événement d’un objet.
Cette macro n’apparaît pas dans le volet de
Navigation, mais peut être appelée à partir de
litiges Sur chargement ou En cliquant sur.

Étant donné que la macro fait partie de l’objet de


formulaire ou un état, macros incorporées sont
recommandées pour automatiser les tâches qui
sont spécifiques à un formulaire particulier ou un
état.

1. Dans le volet de Navigation, cliquez sur le


formulaire ou l’état qui contiendra la macro, puis
cliquez sur Mode page.
2. Si la feuille de propriétés n’est pas déjà affichée,
appuyez sur F4 pour l’afficher.
3. Cliquez sur le contrôle ou une section qui contient
la propriété d’événement dans laquelle vous voulez
incorporer la macro. Vous pouvez également
sélectionner le contrôle ou section (ou la totalité
du formulaire ou rapport) à l’aide de la liste
déroulante sous Type de sélection en haut de la
feuille de propriétés.
4. Dans le volet Office feuille de propriétés, cliquez
sur l’onglet événement.
5. Cliquez dans la zone de propriété pour
l’événement que vous voulez déclencher la macro.
Par exemple, pour un bouton de commande, si
vous souhaitez que la macro à exécuter lorsque
vous cliquez sur le bouton, cliquez dans la zone de
propriété En cliquant sur.

6. Si la zone de propriété contient les mots [Macro


incorporée], cela signifie qu'une macro a déjà été
créée pour cet événement. Vous pouvez modifier la
macro en continuant avec les étapes restantes de
cette procédure.
7. Si la zone de propriété contient les
mots [Procédure événementielle], cela signifie
qu’une procédure Visual Basic pour Applications
(VBA) a déjà été créée pour cet événement. Avant
de vous pouvez incorporer une macro à
l’événement, vous devrez supprimer la procédure.
Vous pouvez le faire en supprimant les
mots [Procédure événementielle], mais vous devez
tout d’abord examiner la procédure événementielle
pour vous assurer que la suppression n’arrête pas
les fonctionnalités nécessaires dans la base de
données. Dans certains cas, vous pouvez recréer les
fonctionnalités de la procédure VBA à l’aide d’une
macro incorporée.
8. Cliquez sur le bouton Générer.
9. Si la boîte de dialogue Choisir
Générateur s’affiche, vérifiez que Générateur de
Macro est sélectionné, puis cliquez sur OK.

Access ouvre le Générateur de Macro. Passez à la


section suivante pour ajouter des actions à la
macro.

Ajouter des actions à une macro

Actions sont les commandes individuels qui


composent une macro, et chacune est nommé en
fonction de la fonction, par
exemple, TrouverEnregistrement ou FermerBase.

Étape 1: Rechercher ou pour une action de macro

La première étape pour ajouter une action est


trouver dans la liste déroulante Ajouter une
nouvelle Action ou dans le catalogue d’actions.
 Par défaut, la liste déroulante Ajouter une nouvelle
Action et le catalogue d’actions affichent
uniquement les actions qui seront exécutent dans
des bases de données non approuvé. Pour afficher
toutes les actions :
o Sous l’onglet Créer, dans le
groupe Afficher/Masquer, cliquez sur Afficher
toutes les actions.
 Si le catalogue d’actions n’est pas affiché, sous
l’onglet Création, dans le groupe Afficher/masquer,
cliquez sur Catalogue d’actions.

Pour rechercher une action, appliquez une des


méthodes suivantes :

 Cliquez sur la flèche dans la liste déroulante Ajouter


une nouvelle Action et faites défiler jusqu'à l’action.
Éléments de flux de programme apparaissent en
premier, puis les actions de macro sont répertoriées
par ordre alphabétique.
 Recherchez l’action dans le volet de catalogue
d’actions. Les actions sont regroupées par
catégorie. Développez chaque catégorie pour
afficher les actions. Si vous sélectionnez une action,
une brève description de l’action apparaît au bas du
catalogue d’actions.
 Recherchez l’action dans le volet de catalogue
d’actions en tapant dans la zone de recherche dans
la partie supérieure du volet. En cours de frappe, la
liste des actions est filtrée pour afficher toutes les
macros qui contiennent ce texte. Access recherche
dans les noms des macros et leur description pour
le texte que vous entrez.

Étape 2: Ajouter une action à une macro

Une fois que vous avez trouvé l’action de macro


que vous voulez ajouter à la macro à l’aide d’une
des méthodes suivantes :

 Sélectionnez une action dans la liste Ajouter une


nouvelle Action, ou simplement commencez à
taper le nom de l’action dans la zone. Access ajoute
l’action à l’endroit où la liste Ajouter une nouvelle
Action est affichée.
 Faites glisser l’action dans le catalogue d’actions
dans le volet de macro. Une barre d’insertion
s’affiche pour vous indiquer où l’action est insérée
lorsque vous relâchez le bouton de la souris.
 Double-cliquez sur l’action dans le catalogue
d’actions.
o Si une action est sélectionnée dans le volet de
macro, Access ajoute la nouvelle action juste en
dessous de celle sélectionnée.
o Si un bloc de groupe, If, Else If, Else ou sous-
macro est sélectionné dans le volet de macro,
Access ajoute la nouvelle action à ce bloc.
o Si aucune action ou un bloc n’est sélectionné dans
le volet de macro, Access ajoute la nouvelle action à
la fin de la macro.

REMARQUES :

 Si vous avez déjà créé un ou plusieurs des macros,


ils sont répertoriés sous le nœud dans cette base de
données dans le catalogue d’actions.
 Faire glisser une macro autonome (celui qui est
répertorié sous Macros) dans le volet de macro crée
une action ExécuterMacro qui exécute la macro que
vous avez fait glisser dans. Vous pouvez ensuite
utiliser la liste déroulante pour appeler submacros,
le cas échéant.
 Si vous voulez simplement copier les actions d’une
macro autonome dans la macro en cours (au lieu de
créer une action ExécuterMacro ), droit dessus dans
le catalogue d’actions, puis cliquez sur Ajouter une
copie de Macro.
 Faire glisser une macro incorporée (celui qui est
répertorié sous un objet de formulaire ou un état)
dans le volet de macro copie les actions de cette
macro dans la macro en cours.
 Vous pouvez également créer une action en faisant
glisser un objet de base de données à partir du
volet de Navigation vers le volet Macros. Si vous
faites glisser une table, requête, formulaire, état ou
module dans le volet de macro, Access ajoute une
action qui ouvre la table, une requête, un formulaire
ou un état. Si vous faites glisser une autre macro
dans le volet de macro, Access ajoute une action qui
exécute la macro.

Étape 3: Entrez les arguments

La plupart des actions de macro nécessitent au


moins un argument. Vous pouvez afficher une
description de chaque argument en sélectionnant
l’action, puis déplacer le pointeur sur les
arguments. Pour un grand nombre d’arguments,
vous pouvez sélectionner une valeur dans une liste
déroulante. Si l’argument nécessite que vous tapez
dans une expression, IntelliSense vous permet
d’entrer l’expression en suggérant des valeurs
possibles en cours de frappe, comme le montre
l’illustration suivante :

Lorsque vous voyez une valeur que vous voulez


utiliser, ajoutez-le à votre expression en double-
cliquant dessus ou en utilisant les flèches pour
mettre en surbrillance et en appuyant sur la touche
TAB ou entrée.

Lorsque vous créez une macro d’interface


utilisateur incorporée dans un formulaire web
compatible, IntelliSense vous permet d’ajouter une
propriété de formulaire à une expression.
Toutefois, dans une base de données web,
uniquement un sous-ensemble des propriétés du
formulaire est accessible à l’aide de macros
d’interface utilisateur. Par exemple, étant donné un
contrôle nommé Control1 dans un formulaire
appelé Form1, IntelliSense vous permettra
d’Ajouter [Forms] ! [Form1] ! [Control1].
[SourceContrôle] à une expression dans une macro
d’interface utilisateur. Toutefois, si vous publiez
puis la base de données pour accéder aux Services,
la macro contenant cette expression génère une
erreur lorsqu’il est exécuté sur le serveur.

Le tableau suivant présente les propriétés que vous


pouvez utiliser dans les macros d’interface
utilisateur dans les bases de données web

Déplacer une action

Les actions sont exécutées dans l’ordre, à partir du


haut vers le bas de la macro. Pour déplacer une
action vers le haut ou vers le bas dans la macro,
utilisez une des méthodes suivantes :

 Faites glisser l’action vers le haut ou vers le bas


jusqu'à l’emplacement souhaité.
 Sélectionnez l’action, puis appuyez sur CTRL +
flèche haut ou CTRL + flèche vers le bas.
 Sélectionnez l’action, puis cliquez sur la flèche Vers
le haut ou Déplacer vers le bas sur le côté droit du
volet de macro.

Supprimer une action

Pour supprimer une action de macro :


 Sélectionnez l’action et appuyez sur la touche
SUPPR. Par ailleurs, vous pouvez cliquer sur le
bouton Supprimer (X) sur le côté droit du volet de
macro.

REMARQUES :

o Si vous supprimez un bloc d’actions, par exemple un


bloc Si ou un bloc de groupe, toutes les actions
dans le bloc sont également supprimées.
o Les commandes déplacer vers le haut, déplacer
vers le bas et Supprimer sont également
disponibles dans le menu contextuel qui s’affiche
lorsque vous cliquez sur une action de macro.

Contrôler le déroulement du programme avec If, Else


If et Else

Pour exécuter des actions de macro uniquement


lorsque certaines conditions sont vraies, vous
utilisez un bloc Si. Cette option remplace la
colonne Condition qui a été utilisée dans les
versions antérieures d’Access. Vous pouvez étendre
un bloc Si avec les blocs Else If et Else, similaires à
d’autres langues de programmation séquentiels
comme VBA.
L’illustration suivante montre un bloc If simple, y
compris Else If et Else blocs :

Le bloc Si s’exécute si le champ ExpirationDate est


inférieur à la date du jour.

Le bloc Else If s’exécute si le champ ExpirationDate


est égal à la date du jour.
Le bloc Else s’exécute si aucun des blocs
précédents ne l’est.

Le bloc Si se termine ici.

Ajouter une instruction If bloc à une macro

1. Sélectionnez Si dans la liste déroulante Ajouter


une nouvelle Action ou faites-la glisser à partir du
volet catalogue d’actions dans le volet de macro.
2. Dans la zone dans la partie supérieure du bloc Si,
tapez une expression qui détermine quand le bloc
sera exécuté. L’expression doit être booléenne
(autrement dit, celle qui correspond à des options
Oui ou non).
3. Ajouter des actions pour le bloc Si en les
sélectionnant dans la liste déroulante Ajouter une
nouvelle Action qui s’affiche dans le bloc ou en les
faisant glisser le bloc Si à partir du volet catalogue
d’actions.

Ajouter Sinon ou autre si blocs à consulter un


blocage

1. Sélectionnez le If bloc , puis cliquez sur le coin


inférieur droit du bloc, Dois-je ajouter ou Ajouter
le Else If.
2. Si vous ajoutez un bloc Else If, tapez une
expression qui détermine quand le bloc sera
exécuté. L’expression doit être booléenne
(autrement dit, un qui prend la valeur True ou
False).
3. Ajouter des actions pour le bloc Else If ou Else en
les sélectionnant dans la liste déroulante Ajouter
une nouvelle Action qui s’affiche dans le bloc ou
en les faisant glisser le bloc à partir du volet
catalogue d’actions.
o Les commandes permettant d’ajouter des blocs

de SiElse If et Else sont disponibles dans le menu


contextuel qui s’affiche lorsque vous cliquez sur une
action de macro.
o Des blocs if peuvent être imbriqués jusqu'à 10

niveaux.
*******************ICI***********************