Domaines
RH
Juridique
Compta
Administratif/Moyens Généraux
Communication
Bureautique
Conseils aux débutants
Word
Excel
PowerPoint
Outlook
Access
Publisher
Windows/système
Applications pas à pas
Tests logiciels
Macros VBA
Leçons
Macros Word
Macros Excel
Astuces
Orthographe
Rédaction
Organisation
 
Outils
Ouvrages
Modèles
Macros
 
Anglais
Grammaire avec AnglaisFacile
Leçon gratuite avec AnglaisFacile
Carrière
Gestion de carrière
Fiches métier
Témoignages / vécu
 
 

Echanger

Forums

© Nadège Guilbert
Le contenu de ce site
est régulièrement déposé auprès de la SGDL
Reproduction interdite
sans le consentement
écrit de l'auteur


Imprimer la page

Bureautique > Access

28-Mar-2004

 

 

Améliorer et accélérer la saisie : les formulaires

Les propriétés : Evénement

Comme tous les produits de la gamme Office, Access permet l'enregistrement de macros et l'écriture de code en VBA.

Ces macros sont rattachées à des évéments (d'où le terme de programmation événementielle), c'est-à-dire à la survenance de certaines manipulations.

Prenons un exemple concret.

Nous pourrions nous épargner de la peine et souhaiter qu'Access renseigne seul le nom de la ville pour les codes postaux compris entre 75000 et 75999. En effet, dans tous ces cas de figure, la ville est Paris. Idem pour Lyon dont les codes postaux sont situés entre 69001 et 69009 (je fais abstraction ici des codes postaux spécifiques, tels 69900 pour Lyon Chèques).

Access pour se charger de ce traitement pour nous.
Bien évidemment, il faut pour cela que le champ Code postal soit renseigné par l'utilisateur...

Maintenant réflichissons : quand Access doit-il lancer la vérification, autrement dit à quel événement rattacher notre code ?

Une fois le code postal saisi, bien évidemment. Mieux encore, une fois qu'il a été validé par l'utilisateur, c'est-à-dire lorsque l'on quitte cette zone de texte. L'événement correspondant est Après MAJ (après mise à jour).

Il faut donc sélectionner la zone de texte cp et dans la fenêtre des Propriétés, onglet Evénément etc liquer sur dans le champ Après MAJ.

Il ne nous reste plus qu'à saisir notre code (cf la leçon sur le vba) :

Private Sub cp_AfterUpdate()
If cp >= 75000 Then
    If cp <= 75999 Then ville = Paris
ElseIf cp >= 69001 Then
    If cp <= 69009 Then ville = Lyon


End If
ville.SetFocus
End Sub

En clair :
Si le code postal est supérieur ou égal à 75000 alors
on vérifie s'il est également inférieur ou égal à 75999 et si oui, le champ ville est égal à Paris
Sinon on vérifie si le code postal est supérieur ou égal à 69001
puis si tel est le cas s'il est inférieur à 69009. Si ces conditions sont réunies le champ ville égale Lyon
Fin des conditions
On active le champ ville.

Vous pouvez rajouter autant de ElseIf... que vous souhaitez au niveau de la ligne que j'ai laissé blanche. Par exemple, pour Marseille. Recopiez alors les deux lignes en gras en les modifiant légèrement.

Refermez la fenêtre de code. La mention [Procédure évenementielle] apparaît sur la ligne Après MAJ. Elle nous indique que du code a été saisi.

Nous n'aborderons pas ici les deux autres onglets : cette leçon, vous en conviendrez, est suffisamment dense... Si vous désirez néanmoins en savoir un peu plus sur ces propriétés, vous pouvez accéder directement à la rubrique d'aide associée en positionnant votre curseur sur une propriété et en appuyant sur F1.

Il ne nous reste plus qu'à modifier à présent le sous-formulaire Interlocuteurs...

Haut

Niveau

Pré-requis :

  • aucun