Automatiser Access avec VBA : guide pratique en dix étapes

Contexte

Visual Basic for Applications (VBA) permet d'étendre les capacités de Microsoft Access au-delà des formulaires, requêtes et macros intégrées. Que vous souhaitiez valider des saisies, générer des rapports sur mesure ou enchaîner des opérations répétitives, l'écriture de code VBA dans un module standard constitue le point de départ le plus courant.

Étape 1 : insérer un module standard

Un module standard regroupe des procédures disponibles pour l'ensemble de la base de données, contrairement aux modules de classe ou aux modules de formulaire qui sont liés à un objet particulier.

  • Ouvrez l'éditeur VBA avec Alt + F11.
  • Dans le menu Insertion, choisissez Module.
  • Un nouveau module vide apparaît dans l'explorateur de projets.

Étape 2 : définir une fonction

Une fonction est une procédure qui renvoie un résultat. Pour la déclarer, utilisez le mot-clé Function suivi d'un nom explicite.

Function CalculerPerimetre() As Integer
    ' Le corps de la fonction sera ajouté ici
End Function

Étape 3 : ajouter une logique à la fonction

À l'intérieur de la fonction, ajoutez les instructions qui accomplissent le traitement souhaité. L'exemple suivant demande une valeur à l'utilisateur, effectue un calcul simple et affiche le résultat.

Function CalculerPerimetre() As Integer
    Dim longueur As Integer
    Dim largeur As Integer
    Dim resultat As Integer
    
    longueur = InputBox("Saisissez la longueur :")
    largeur = InputBox("Saisissez la largeur :")
    resultat = 2 * (longueur + largeur)
    
    MsgBox "Le périmètre vaut : " & resultat
    CalculerPerimetre = resultat
End Function

Étape 4 : exécuter la fonction depuis l'éditeur

Placez le curseur à l'intérieur de la fonction et apuyez sur F5. VBA exécute alors la procédure en mode interactif et affiche les boîtes de dialogue définies dans le code.

Étape 5 : déclarer des variables

Les variables servent de conteneurs temporaires pour les données. La déclaration explicite évite les erreurs de type et facilite la maintainance.

Dim anneeCourante As Integer
Dim nomClient As String
Dim tauxTVA As Double

Activez l'option Option Explicit en début de module pour forcer la déclaration de chaque variable.

Étape 6 : affecter des valeurs

L'opérateur = permet de stocker une valeur dans une varible. Cette valeur peut provenir d'une saisie utilisateur, d'un calcul ou d'une propriété d'objet.

anneeCourante = Year(Date)
nomClient = InputBox("Nom du client :")
tauxTVA = 0.2

Étape 7 : compiler le projet

La compilation vérifie la syntaxe et transforme le code source en instructions exécutables par l'ordinateur. Elle détecte les fautes de frappe, les types incompatibles et les appels de procédures inexistantes.

  • Dans l'éditeur VBA, sélectionnez le menu Débogage.
  • Cliquez sur Compiler le projet (le nom du projet s'affiche à la place des x).

Étape 8 : enregistrer le module

Sauvegardez régulièrement votre travail pour éviter toute perte de code. Dans l'éditeur VBA, utilisez le raccourci Ctrl + S ou le menu Fichier > Enregistrer.

Étape 9 : appeler la fonction depuis une macro Access

Les procédures placées dans un module standard sont accessibles depuis n'importe quel emplacement de la base de données, y compris une macro.

  • Sous l'onglet Créer, cliquez sur Macro.
  • Ajoutez l'action ExécuterCode (RunCode).
  • Dans l'argument Nom de fonction, saisissez CalculerPerimetre().
  • Exécutez la macro pour vérifier le comportement.

Étape 10 : poursuivre la montée en compétence

Une fois les fondamentaux assimilés, approfondissez les notions suivantes : gestion des événements sur les formulaires, manipulation d'objets DAO et ADO, création de boucles For...Next et Do...Loop, gestion des erreurs avec On Error, et interaction avec les autres applications Office via les bibliothèques d'objets. Lire la documentation officielle et reproduire des scénarios concrets reste le meilleur moyen de progresser.

Étiquettes: VBA Microsoft Access Access Macros Office VBA Database Automation

Publié le 22 juin à 00h24