IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Execution d'une macro Access lors d'une importation Excel [AC-2000]


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Execution d'une macro Access lors d'une importation Excel
    Bonjour à tous,

    Je rencontre une difficulté lors de l'importation vers Excel des résultats d'une requête Access, je m'explique :

    1. J'ai une table Access qui se met à jour automatiquement à l'ouverture de la base grace à une macro AUTOEXEC.

    2. L'objectif est d'importer les données présentes dans une requête Access vers une feuille Excel.

    3. Tout le système d'importation des données externes sous Excel est mis en place, mes données sont bien extraites et importées dans la feuille.

    4. Le soucis, c'est que la mise à jour des données dans Excel n'entraîne pas l'exécution de la macro Access AUTOEXEC.


    Existe t'il une solution pour palier à ce problème ?


    Merci d'avance.
    Nicolas Plan

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans les 3 premiers points tu fais un envoi d'Access vers Excel, pas de soucis.

    Je ne vois pas comment peut se dérouler la troisième étape, puisque tu ne travailles que dans un sens.
    Si tu mets à jour Excel à partir d'Access, pourquoi veux-tu faire des saisies dans Excel

    J'ai un peu de mal à comprendre ce que tu veux faire.

    Philippe

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bonjour Philippe, merci pour ton intérêt, je vais essayer d'être le plus clair possible malgré mon manque de connaissances dans ce domaine.


    - J'effectue un suivi des demandes d'achats pour la sous-traitance dans 4 fichiers Excel (un par sous-traitants).

    - Ma base Access se nourrie de ces 4 fichiers Excel et regroupe les données dans une seule table à l'aide de plusieurs requêtes de suppression/ajout. La table en question est recréée à chaque ouverture de la base Access par une macro Autoexec.

    - Une requête de sélection trie des informations pour présenter une synthèses des sous-traitants travaillants sur site.

    - Pour simplifier la lecture de ces informations aux autres personnes, j’ai créé un nouveau fichier Excel qui se met à jour en allant chercher le résultat de ma requête Access automatiquement (J’ai pour cela utilisé la fonction Données > Données externes > Créer une requête…).

    - Mon problème aujourd’hui est que la mise à jour effectuée sur la base Access par la macro Autoexec ne se fait pas lors de la mise à jour d’Excel, du coup je suis obligé d’ouvrir Access avant d’ouvrir Excel pour que mes données soient correctement mises à jour.


    J’espère avoir été plus explicite, n’hésite pas à me dire si ce n’est pas le cas.

    Bien cordialement,
    Nicolas Plan

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Je commence à mieux comprendre, à ce moment il faudrait (dans Excel) à la fermeture du fichier Excel, lancer une routine (Un Shell ou une Api ShellExecute) qui lance ta base Access qui elle lancera ta macro AutoExec.

    Philippe

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Entendu, mais comment puis-je faire cela ?

    Une autre personne m'a donné ce code dit VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim TonAccess As New Access.Application
    TonAccess.OpenCurrentDatabase "c:\TaBase.mdb" 'ouvre ta base depuis Excel
    'TonAccess.DoCmd.RunMacro "Autoexec"  ' exécute ta macro
    TonAccess.Quit acQuitSaveNone ' ferme Access
    Set TonAccess = Nothing
    Peut être que je pourrais le "rentrer" quelque part dans Excel pour qu'il s'exécute à son ouverture avant la mise à jour automatique de mes cellules ?

    Merci pour ton aide, elle est appréciée.
    Nicolas Plan

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    Tu peux mettre ce code sur ouverture de ton classeur,

    mais la çà ressemble plus à une question Excel

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je dirais plutôt sur le Workbook_BeforeClose, juste avant la fermeture, pour Lancer Access, car à ce moment les saisies seront à jour.

    User à raison, c'est plutôt du Excel, avec ce que l'on vient de te donner tu trouveras dans la FAQ Excel et le forum des exemples d'actions à la fermeture d'un classeur.

    Philippe

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Entendu,

    Merci encore à tous les deux pour votre aide précieuse.

    Après m'être perdu dans le FAQ Excel, j'ai fait une autre demande sur le forum.

    Si une autre personne cherche à faire la même chose que moi, l'aventure continue ici !


    Bien cordialement,
    Nicolas Plan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Message d'erreur 7711 lors d'une Macro Access
    Par BABETH77 dans le forum IHM
    Réponses: 1
    Dernier message: 06/03/2019, 17h49
  2. [XL-2000] Créer un fichier à partir d'une macro contenant lui même une macro
    Par nicogau18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/07/2010, 16h05
  3. [AC-2000] Execution d'une macro Access lors d'une importation Excel
    Par Nicolas Plan dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/04/2009, 10h54
  4. arréter une macro et initialiser par une macro
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/10/2007, 16h44
  5. [Macro]Mise à jour d'une table à l'aide d'une macro
    Par Jean-Luc80 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2007, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo