I. Introduction▲
Je vais vous présenter une nouveauté d'Access 2010 : le nouvel éditeur de Macros.
Cet éditeur a subi un énorme changement, des fonctions ont été ouvertes afin de simplifier la création de macros.
Le changement est radical, la création de la macro ressemble à du codage dans l'éditeur VBE, mais en beaucoup plus simple.
La fonctionnalité de conversion entre macro et VBA a été gardée et est plus accessible.
Nous allons montrer par l'exemple cette nouvelle fonctionnalité.
II. Création d'un Formulaire▲
Nous allons créer un nouveau formulaire ayant un champ de saisie et un bouton. Lors du clic sur le bouton nous allons faire un
test depuis la zone de saisie texte et afficher un message avec OK si la saisie dans la zone est Bonjour sinon on affichera
un message avec comme texte Nok.
Voici le Formulaire en question :
Nous appellerons la zone de saisie : txtSaisie
Le bouton sera nommé : btnLancement.
Nouveauté 2010 : Il est possible de choisir la forme du bouton.
Nouveauté 2010 : Il est possible de Modifier la couleur de fond en sélectionnant les styles prédéfinis comme dans Word et PowerPoint.
Nouveauté 2010 : Lors du passage du curseur sur le bouton celui-ci change de couleur en fonction du Style et fonce lors du clic sur celui-ci.
III. Editeur de Macros▲
L'éditeur de Macros a subi des modifications conséquentes, maintenant on construit une macro comme des lignes de codes VBA
en simplifié.
L'éditeur de Macros sans une ligne de code se présente comme ceci :
Pour ajouter des actions dans l'éditeur, nous avons deux méthodes :
La première, à partir de la liste déroulante disponible dans le contrôle ajout de commandes.
La seconde, depuis le volet "Catalogue d'Actions" :
Maintenant nous allons créer la macro permettant de tester si le mot bonjour est situé dans la zone de saisie.
Voici le code en VBA :
Sub
Test_VBA
(
)
' macro de test codé en VBA
If
Forms
(
"Form1"
)!txtSaisie =
"Bonjour"
Then
MsgBox
"OK"
, vbOKOnly
, "Titre du test"
Else
MsgBox
"NOK"
, vbExclamation
, "Titre du test"
End
If
End
Sub
Maintenant nous allons réaliser la même chose mais depuis l'éditeur de macros.
Dans un premier temps nous choisirons la commande Comment et saisir le commentaire :
Nous allons ensuite sélectionner la commande If afin de réaliser un test :
Nous allons mettre la condition de test afin d'orienter le code selon le résultat. Pour cela cliquez sur la baguette
avec des étoiles au bout de la zone de saisie, le générateur d'expressions s'ouvre il vous suffit de sélectionner le contrôle
txtSaisie de le tester avec la chaîne de caractères "Bonjour" :
Maintenant nous allons appeler la commande MessageBox et y saisir les différentes lignes, dans un premier temps le texte du
message, ensuite l'émission ou non d'un beep, le type d'image intégré et le titre.
Il nous faut ajouter un Else et à nouveau la commande MessageBox comme précédemment :
Voilà notre macro est terminée, il ne reste plus qu'à affecter la macro au bouton sur l'évènement Sur Click.
Ouvrez le formulaire en mode création, sélectionnez le bouton puis dans le volet des propriétés à droite allez dans l'onglet
évènement et sélectionnez le nom de votre macro dans la ligne sur click.
IV. Résultat du test▲
Maintenant nous allons ouvrir le formulaire en mode Affichage.
Nous allons mettre Bonjour dans la zone de texte et appuyer sur le bouton.
Effaçons la zone de saisie et validons en cliquant sur le bouton :
V. Conversion de Macro en VBA▲
Access 2010 permet de convertir la macro en VBA depuis un bouton du Ruban :
Voici le résultat :
Function
Macro1
(
)
' macro de test depus l'éditeur de macro
If
(
Forms!Form1!txtSaisie =
"Bonjour"
) Then
MsgBox
"OK"
, vbOKOnly
, "Titre du Test"
Else
MsgBox
"NOK"
, vbExclamation
, "Titre du Test"
End
If
End
Function
VI. Créer un macro Autoexec▲
Nous allons créer une nouvelle macro qui appellera notre formulaire au démarrage.
Il nous faut créer une nouvelle macro.
Nous allons ensuite appeler la commande OpenForm.
Plusieurs paramètres sont disponibles pour l'ouverture du Formulaire :
- Liste des Formulaires disponibles pour la sélection.
- Le type d'affichage.
- Le nom du champ pour le filtre.
- La clause pour le filtre.
- Mode d'ouverture pour les données (lecture seule, modification, ajout).
- Le type d'affichage de la fenêtre.
Il suffit maintenant de sauvegarder la macro sous le nom : Autoexec.
A chaque démarrage de votre application cette macro sera exécutée.
VII. Remerciements▲
Merci à Philippe JOCHMANS,
jacques_jean,
Jeannot45
et Tofalu
pour leurs temps consacré à la lecture et correction.
Nono40 pour son excellent outil.
A www.developpez.com pour leur hébergement.