cours Acces les Macro en Doc

Problème à signaler:


Télécharger cours Acces les Macro en Doc



★★★★★★★★★★4 étoiles sur 5 basé sur 1 votes.
4 stars
1 votes

Votez ce document:

Création de Macro par le menu

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 u

tilisé l'aide de l'assistant pour créer un menu de démarrage. Cette méthode pour créer une macro 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. Nous verrons dans le chapitre suivant que ces macros sont surtout utilisées dans les procédures événementielles. Analyser toutes les macros Access serait trop long, ce chapitre reprend donc les principales.

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

Une dernière remarque, à la différence des macros 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.

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 Macro 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).

Commençons par les macros 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 la macro 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 de la macro d'ouverture d'une requête OuvrirRequête est parfaitement identique.

3.2. Ouvrir un état: OuvrirEtat

Cette macro d'ouverture d'état 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.

 

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 macro 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.

 

Comme le but de ce cours Access n'est pas d'analyser toutes les macros, je rassemble ici quelques macros 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.

 

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, ce sera le prochain chapitre). Nous nous intéressons ici aux macros développées pour les boutons. D'autres exemples de macros 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.

Cette macro va utiliser 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.

 

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", de créer une macro 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. Cette possibilité 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 scinder notre macro: utiliser les 3 dernières lignes de la macro ensemble. Nous allons donner un nom de macro à partie 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.

 

En registrez cette macro 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:

 

  •   Formulaire n'exécute que la première ligne de commande
  •   Formulaire.formulaire facture les 3 dernières lignes de commandes de notre macro

Cette méthode ne permet donc pas de mélanger des macros, 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:

 

La macro devient:

 

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

 

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 des macros puisque nous allons pouvoir créer un événement automatique en fonction de différents critères.

 



2015