Liste des principaux codes VBA que j’utilise sur Access

Liste des principaux codes VBA que j’utilise sur Access

Tutoriel réalisé avec Access 2016

Lorsque vous créez une macro sur Access, vous n’avez pas sa « version » en langage VBA et si vous souhaitez incorporer cette macro à une autre action via le même évènement, créer une boucle ou autre, cela peut être problématique.

Dans ce tutoriel, je vais donc lister les principaux codes VBA que j’utilise lorsque je crée des boutons et ne souhaite pas garder son action en tant que macro. Ces codes sont bien sûr à utiliser dans une procédure (sur clic d’un bouton par exemple).

Code VBA pour ajouter un enregistrement :

DoCmd.GoToRecord , , acNewRec

Code VBA pour se placer sur le premier enregistrement d’un formulaire :

DoCmd.GoToRecord , , acFirst

Code VBA pour se placer sur le dernier enregistrement d’un formulaire :

DoCmd.GoToRecord , , acLast

Code VBA pour sauvegarder l’enregistrement en cours :

DoCmd.RunCommand acCmdSaveRecord

Code VBA pour supprimer un enregistrement :

DoCmd.RunCommand acCmdDeleteRecord

Code VBA pour fermer le formulaire en cours :

DoCmd.Close

Code VBA pour fermer un formulaire spécifique :

DoCmd.Close acForm, "(nom du formulaire)"

Exemple : DoCmd.Close acForm, "F_Clients"

Code VBA pour rafraîchir les données d’un formulaire ou actualiser un enregistrement :

J’utilise ce code principalement lorsque je reviens sur un formulaire. Par exemple, si je modifie une facture pour indiquer qu’elle est réglée et que je reviens sur mon formulaire d’accueil où je liste les factures non réglées, cela me permet d’actualiser ma liste et de ne plus voir apparaître cette facture.

Me.Refresh (sur activation du formulaire dans ce cas)

On peut aussi utiliser (nom du contrôle).Refresh ou Me.Requery ou (nom du contrôle).Requery (à voir lequel fonctionne dans votre cas de figure)

Code VBA pour ouvrir un formulaire :

DoCmd.OpenForm "(nom du formulaire)"

Exemple : DoCmd.OpenForm "F_Factures"

Code VBA pour ouvrir un formulaire sur un enregistrement spécifique :

DoCmd.OpenForm "(nom du formulaire)", , , "[(numéro unique indiqué dans le formulaire de départ)] = " & numéro unique indiqué dans le formulaire d’arrivée

Exemple : DoCmd.OpenForm "F_Clients", , , "[ID_Client] = " & ID_Client

Code VBA pour se déplacer sur un onglet spécifique d’un formulaire :

Ce code peut être combiné au précédent lorsque vous créez une navigation par onglets.

Forms![(nom du formulaire)]!(nom du groupe d’onglets).Value = (numéro de l’onglet)

Exemple : Forms![F_Clients]!Navigation.Value = 1 (dans ce cas, je vais sur le 2e onglet, car cela commence à 0)

Code VBA pour ouvrir un état :

DoCmd.OpenReport "(nom de l’état) ", acViewPreview (pour afficher avant impression ou acViewReport pour l’afficher en Mode État Mode État ou acViewNormal pour imprimer l’état)

Exemple : DoCmd.OpenReport "E_Factures", acViewPreview

Code VBA pour ouvrir un état sur un enregistrement spécifique depuis un formulaire :

DoCmd.OpenReport "(nom de l’état)", acViewPreview, , "(numéro unique indiqué sur l’état)=" & (numéro unique indiqué sur le formulaire)

Exemple : DoCmd.OpenReport "E_Factures", acViewPreview, , "ID_Facture=" & ID_Facture

Les numéros uniques n’ont pas besoin d’apparaître, car il s’agit la plupart du temps d’un Numéroauto, mais ils doivent être dans la source du formulaire et de l’état.

Code VBA pour annuler les messages d’alerte :

Ce code vous évite d’avoir les messages d’avertissements qu’Access affiche selon l’action effectuée (une requête d’ajout par exemple). Cependant, il est à utiliser avec précaution, car le retour en arrière ne sera pas possible.

Code VBA à placer en début de procédure : DoCmd.SetWarnings False

Code VBA à placer en fin de procédure : DoCmd.SetWarnings True

Téléchargez « Liste des principaux codes VBA que j’utilise sur Access » au format PDF

Newsletter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code