Rejouer une exportation enregistrée en VBA

Dans l’article Exporter manuellement une table Access vers Excel, vous avez pu voir comment créer un fichier Excel à partir de données Access, le tout manuellement. Un utilisateur du forum a souhaité savoir comment automatiser cette opération, donc rejouer une exportation enregistrée en VBA.

Pour reprendre sa question : « Comment exécuter une exportation depuis un bouton mis sur mon tableau de bord et donc ne pas passer par le menu ? »

Avant de démarrer

Il y a d’autres façon de créer un fichier Excel, comme l’export CSV, ou comme l’instruction DoCmd.TransferSpreadSheet, qui est plus « brute », mais peut-être aussi plus facile à maintenir. Recherchez les mots « exporter excel » sur ce blog, vous allez trouver plein d’articles ! 🙂

Note
Dans cet article, je ne traite pas les autres variantes, mais uniquement la méthode qui automatise les exportations enregistrées.

Je suppose aussi que vous avez enregistré au moins une exportation type. Reportez-vous à l’article précédent pour savoir comment le faire ou le vérifier. Dans mon scénario, l’exportation s’appelle « Exportation de la table Documents » ; ce nom est utile pour la suite.

Exécuter une exportation enregistrée

Le code

Je suppose que vous avez un bouton, que ce bouton s’appelle btnExport.

  1. Faites apparaître les propriétés de ce bouton, onglet Evénement.
  2. Cliquez sur les points de suspension à droite de l’événement Sur clic.
  3. Vous retrouvez dans une procédure VBA (entre un Sub et un End Sub). Adaptez le code pour obtenir ce qui suit, en reprenant bien sûr le nom de votre propre exportation.

C’est tout ! 🙂 Votre bouton devrait maintenant jouer le même rôle que l’icône standard du ruban Access.

Vous aimerez aussi...

4 réponses

  1. Adnane dit :

    Bonjour,

    Code très intéressant.

    Qu’elle est la façon d’exécuter ce code mais a l’ouverture du fichier, et dans qu’elle emplacement ?

    Merci d’avance.

    • Hervé Inisan dit :

      Pour exécuter le code à l’ouverture de la base, il faut d’abord qu’il soit public, et à l’intérieur d’un module standard, pour pouvoir l’appeler d’une macro (voir l’article cet article). Ensuite, il faut écrire la macro en l’appelant AutoExec (voir l’article ).
      Ouala !

  2. Romero dit :

    Bonjour,

    Pensez vous qu’il est possible d’utiliser le même principe sur les importations enregistrées?

    J’ai un message d’erreur m’indiquant que l’index est introuvable.

    Merci beaucoup pour votre aide

    • Hervé Inisan dit :

      A priori oui (mais je n’ai pas testé récemment). Est-ce que le nom de l’importation est strictement identique dans le code VBA ?
      Est-ce que le fichier existe et a la forme attendue ?

Laisser un commentaire

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