Notre magasin
Rue Albert 1er, 7
B-6810 Pin - Chiny
(/fax: 0032 (0)61/32.00.15

Microsoft Access, la Formation en ligne

FORMATION

Le MAGASIN YBET

PRODUITS et SERVICES

Notre gamme de formations en informatique Activités et présentation  
Tutorial et formation INTERNET Plan d'accès  
YBET informatique Nous contacter  

12. Création de Macro par le menu

1. Introduction - 2. Notre première Macro - 3. Macros d'ouverture - fermeture - 4. Recherche - 5. Macros de déplacement - 6. Quelques macros spéciales - 7. Exemples de Macro - 8. La barre d'outils - 9. Pour terminer

1. Qu'est ce qu'une macro?

Une macro reprend une ou plusieurs commandes Access exécutées les unes à la suite des autres, chacune exécutant une tâche précise. Les actions exécutées peuvent être l'ouverture (la fermeture) d'un formulaire, imprimer un état ou rafraîchir la fenêtre en cours par une procédure événementielle.

Dans le chapitre 7 de cette formation, nous avons utilisé l'aide de l'assistant pour créer un menu de démarrage. Cette méthode a l'avantage d'être simple et le défaut d'avoir un choix d'actions limitées.

L'autre possibilité utilise le menu Macro. Cette solution permet d'autres choix, mais également de faire exécuter plusieurs actions les unes derrière les autres. Elles sont surtout utilisées dans les procédures événementielles. Analyser toutes les macros d'Access serait trop long, ce chapitre reprend donc les principales.

Nous n'utiliserons pas les modules dans cette formation, plus spécifiques à la programmation.

Une dernière remarque, à la différence de celles de Word ou d'Excel, une macro Access n'est pas enregistrée en suivant vos actions mais bien en sélectionnant les commandes disponibles.

2. Notre première macro

Commençons par une création simple. Sélectionnons le menu Macro et cliquons sur le bouton Nouveau. La fenêtre suivante apparaît.

La fenêtre est divisée en 3 parties:

  1. la partie action, en haut à gauche (en gros une liste de choix), reprend la liste des commandes disponibles.
  2. une partie commentaire optionnelle
  3. en dessous les options en fonction de l'action sélectionnée.

Nous allons créer une macro qui ouvre un formulaire pour débuter.

Sélectionnons comme action "Ouvrir Formulaire"

Dans la partie en bas, sélectionnez le formulaire à l'aide de la liste déroulante. Comme mode d'affichage, vous avez le choix entre: Formulaire (le mode standard), création (modification du formulaire), aperçu avant impression, feuille de données, ...

Vous pouvez également créer un filtre ou une condition ou sélectionner le mode Données:

  1. Ajout
  2. Modification
  3. Lecture seule

Cette macro peut être utilisée avec un bouton (cf. le chapitre 7 de cette formation) ou comme procédure événementielle (le chapitre suivant).

3. Macro d'ouverture et fermeture.

Commençons celles permettant d'ouvrir ou de fermer une table, une requête, un formulaire ou un état. Le principe est le même pour toutes.

Les procédures d'ouverture commencent toutes par ouvrir

3.1. Ouvrir une table: OuvrirTable

Cette macro n'est pas très différente de celle ci-dessus qui ouvrait un formulaire. Elle est même plus simple. Un premier point intéressant est le mode d'ouverture: ajout (uniquement ajout d'enregistrement), modification (ajout, lecture et modification, c'est le mode qui offre le plus de possibilités), lecture seule (pas de modification possible).

L'utilisation d'ouverture d'une requête OuvrirRequête est parfaitement identique.

3.2. Ouvrir un état: OuvrirEtat

Elle est similaire à celle d'une table ou d'une requête. La seule distinction vient du mode affichage qui peut être en impression directe (immédiate) ou Aperçu avant impression. Dans ce dernier mode, l'utilisateur doit confirmer la demande d'impression. Cette option est préférable, elle évite des erreurs de choix qui imprimeraient des dizaines de pages inutiles.

3.3. Fermer

Toutes les commandes de fermeture sont rassemblées sous 1 seule macro: Fermer. Le choix du type et du nom de l'objet se définissent dans les options de la commande.

4. Macro de recherche

Sont regroupées ici les commandes permettant de rechercher des données à l'aide d'une macro dans une table, requête ou formulaire actif. L'utilisation de ce type de commande nécessite donc une ouverture de formulaire, table ou requête dans la même macro au préalable ou l'utiliser.

Les options de la commande TrouverEnregistrement sont similaires aux recherches manuelles d'Access.

Pour continuer la recherche, vous pouvez utiliser la commande TrouverSuivant qui ne possède pas d'options.

5. Macro de déplacement

La commande AtteindreEnregistrement est parfaitement identique au bouton de navigation et de recherche Access. La commande AtteindrePage permet de se déplacer dans les pages d'un état.

6. Quelques macros spéciales

Comme le but de ce cours Access n'est pas d'analyser toutes les macros, je rassemble ici quelque unes spécifiques utilisées dans des cas spéciaux.

6.1. Actualiser.

Actualiser permet d'actualiser les données de la table en cours ou même des tables et requêtes utilisées par le formulaire actualisé. Elle évite de fermer et de redémarrer le formulaire en cours. Nous l'utiliserons régulièrement dans les exercices.

Le Nom de contrôle permet de ne réactualiser qu'une valeur du formulaire.

6.2 Transférer en Excel (importer ou exporter)

Cette commande permet d'importer une feuille Excel comme table dans Access ou de transférer une table ou une requête vers un fichier Excel. Le nom du fichier - feuille excel et table - base de donnée Access doit être mentionnée.

6.3. Sélectionner objet

Cette dernière commande SélectionnerObjet permet de sélectionner un objet (état, formulaire, requête ou table) en cours de travail. Elle est utilisée en combinaison avec les fonction de recherche ci-dessus par exemple.

7. Exemples de Macro.

Pour rappel, les macros peuvent être utilisées à l'aide de bouton ou à l'aide de procédures événementielles (un click sur un objet par exemple). Nous nous intéressons ici aux macros développées pour les boutons. D'autres exemples sont repris dans l'utilisation de la barre d'outils ci-dessous.

7.1. Macro ouvrant un formulaire et fermant le formulaire précédant.

Soit un formulaire "Menu" de départ" et un bouton ouvrant le formulaire "facture" en mode lecture seule. Ce type d'application assez classique va utiliser 2 lignes de commande:

A. La commande pour fermer le formulaire Menu

B. L'ouverture du formulaire "Facture". N'oubliez pas l'option "Lecture seule" qui empêche toutes modifications des données.

Enregistrer votre macro. Pour créer le bouton, utilisez la procédure vue précédemment et sélectionner la macro créée

7.2. L'impression d'un état avec retour au formulaire de départ.

Nous allons utiliier 1 lignes de commandes, éventuellement 2

A. Ouverture de l'état en impression directe (sans aperçu avant impression)

B. Dans le cas ou plusieurs formulaires sont ouverts simultanément, vous pouvez rajouter la commande de sélection suivante.

Ajustons la taille de la colonne pour reprendre l'ensemble des données à l'affichage. Et voilà. Notre liste de choix est créée. De plus comme le champ titre de la table Titre est déjà triée par ordre croissant, il n'y a plus aucune opération à faire.

8. La barre d'outils macro.

Cette barre d'outils Access comporte de nombreux petits utilitaires qui vont nous permettre de tester nos macros.

  1. Noms de macros permet de faire des "sous-macros", en regroupant plusieurs macros internes
  2. Conditions: permet de créer une ou plusieurs conditions pour l'exécution de commandes.
  3. Insérer une ligne permet d'insérer une commande entre 2 lignes d'une macro.
  4. Supprimer une ligne permet de supprimer une ligne de commande
  5. Exécuter permet d'exécuter la macro en cours.
  6. Pas à pas permet d'exécuter votre macro ligne par ligne
  7. Assistant création n'est accessible que si vous créez une condition d'exécution de la ligne de commande.

8.1. Nom de la macro.

Cette fonctionnalité permet de créer une macro rassemblant plusieurs procédures et de choisir l'exécution d'une ou l'autre selon les besoins. Elle permet notamment de ne créer qu'un fichier macro pour l'ensemble ou une partie de votre base de donnée Access.

Créons la macro suivante qui va ouvrir le formulaire "client" en mode ajout, ouvrir le formulaire "Facture", imprimer l'état "YBET" en mode direct et resélectionner le formulaire facture.

1. Ouverture du formulaire client:

2. Ouverture du formulaire facture:

3. Imprimer l'état YBET:

4. Sélectionner le formulaire facture:

Cette macro pourrait être utilisée telle quelle. Pourtant, nous désirons la scinder: utiliser les 3 dernières lignes de la macro ensemble. Nous allons donner un nom à partir de la deuxième ligne. Cliquer sur le bouton "Nom de macro" dans la barre d'outils fait apparaître une colonne en plus. Tapons formulaire macro en regard de notre deuxième ligne de commande.

Enregistrons la sous le nom "formulaire" et créons un nouveau formulaire de menu. Créons un bouton de navigation et sélectionnons comme commande Divers - exécuter une macro. La liste des macros disponibles apparaît de la manière suivante:

Cette méthode ne permet donc pas de mélanger, sauf que nous aurions pu insérer une ligne de commande "Exécuter macro":

8.2. Condition

Cette possibilité va nous permettre de créer des conditions pour qu'une ligne de commande s'exécute.

Supposons dans un formulaire de rentrée des factures que nous souhaitons un message dans le cas où le code du client est nul. Sélectionnez le bouton "Condition" et utilisez l'assistant:

Le code devient:

Enregistrez la macro sous le nom condition, par exemple. Si nous l'exécutons alors que le champ code client est vide, le message suivant est affiché.

9. Pour terminer.

Créer une macro Access n'est pas très compliquée. L'utilisation de ces lignes de commandes à l'aide d'un bouton a déjà été vue. Un chapitre suivant (procédures événementielles) va aller plus loin dans l'utilisation puisque nous allons pouvoir créer un événement automatique en fonction de différents critères.

Autres formations YBET:

Macro Excel - Internet - Ciel (Logiciel comptable - gestion commerciale - logiciel de caisse) - PHP - base de donnée Mysql

La suite du cours Access> 13. Création avancée d'un formulaire Access

11. < Liste de choix

Plan du cours

1. Débuter pour l'utilisation d'Access - 2. Table - 3. Requête - 4. Formulaire - 5. Travailler avec une base de donnée Access - 6. Base de donnée relationnelle - 7. Les Etats - 8. Macros et menus de démarrage - 9. Propriétés avancées des champs - 10. Gestion d'un club - 11. Les listes de choix - 12. Macros - 13. Formulaires avancés - 14. Procédures événementielles - 15. Champs Calculés - 16. Access en réseau - 17. Sécurité et droits d'accès des utilisateurs