Enregistrer tout le code VBA d’une application dans un fichier

Peut-on sauvegarder le code VBA complet d’une base Access dans un fichier texte ? Ce qui pourrait servir – par exemple – pour imprimer tout le code de l’application en un minimum d’opérations…

Principe

Le code VBA d’une base Access peut se trouver :

  • dans les modules de formulaires
  • dans les modules d’états
  • dans les modules standard
  • dans les modules de classe

Il n’y a pas de fonction automatique pour regrouper tous ces modules dans un seul fichier. On va donc s’en occuper !

Le code

Recopiez le code ci-dessous dans un module standard de votre base de données :

Pour tester…

Pour tester tout ça :

  1. Ouvrez la fenêtre Exécution (CTRL + G).
  2. Tapez dans cette fenêtre quelque chose comme :

Entre les guillemets, le nom du fichier à créer, et dans lequel sera recopié le code VBA de tous les modules de la base Access.
Et si vous êtes fainéant, et que vous souhaitez ouvrir automatiquement le bloc-notes de Windows en fin d’opération, écrivez plutôt :

Vous aimerez aussi...

4 réponses

  1. Hervé Inisan dit :

    Bisra > Je n’ai pas d’Access 2000 sous la main pour tester, mais de mémoire, ça devrait marcher sur cette version. Au cas où : est-ce qu’il n’y a pas un formulaire déjà ouvert, en cours d’utilisation ? Et est-ce que le fichier texte lui-même n’est pas aussi ouvert ?

  2. Bisra dit :

    Excellent. Merci pour cet utilitaire.
    Malheureusemente le code se plante erreur avec 2174 « impossible de passer à un autre mode pour le moment »
    Ca se passe là:

    For Each ao In CurrentProject.AllForms
    ‘ On ouvre le formulaire
    DoCmd.OpenForm ao.Name, acDesign

    ‘ On écrit le code sur disque
    If Forms(ao.Name).HasModule Then
    SaveModule « FORM MODULE », Forms(ao.Name).Module, intFileHandle
    End If

    J’utilise access 2000. Est-ce compatible ?

  3. boubou dit :

    rien a dire toujours le meilleur du web!

  4. cybernaute dit :

    juste pour vous dire votre analyse me plais beacouuuup merci

Laisser un commentaire

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