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

Macros et VBA Excel Discussion :

Executer une Macro Access à partir d'Excel (avec VBA)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Par défaut Executer une Macro Access à partir d'Excel (avec VBA)
    Bonjour,

    J'ai trouvé pour lancer l'accé à la base Access ou est stocké ma macro access.

    J'arrive sur le formulaire de saisie des paramètres (date du Jours,date du jours précédent et nbre de jours) j'ai ensuite juste à faire Go pour qu'il execute la Macro Access puis je peux quitter access et reprendre une autre macro sous excel.

    Le point délicat c'est de pouvoir reprendre directement au moment du lancement d'Access les paramétres stockés dans une page excel pour qu'il enchaine les deux macros sans avoir à ressaisir les paramètres( dates nbre de jours...) et faire un clic sur GO.

    Je suis arrivé à lancer l'ouverture d'access directement d'excel.

    Sous access j'arrive sur le formulaire et là je souhaite qu'il reprenne les variables sans avoir à les resaisir.

    le code me demande de préciser le nom de la macro pour pouvoir s'executer mais en même tant il a besoins que les variables se préafichent dans le formulaire.

    Et là ,ne connaissant pas assez bien access,je suis perdu !
    Voici la partie du code ou ça bloque

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' lancer go
     
    DoCmd.RunMacro "ImportStockPassif" 'Ici le nom de la macro Access
     MonAccess.Quit acQuitSaveNone
     Set MonAccess = Nothing
    Je pense qu'il attend que je lui indique les variables .
    c'est là que je voudrai qu'excel les transmette automatiquement à partir de la feuille Excel où sont présent les variables et la macro VBA d'origine.
    Pouvez-vous me donner les indications pour y parvenir?

    Merci
    A+

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonAccess.DoCmd.RunMacro "ImportStockPassif"
    Evidemment DoCmd n'est pas connu par l'application Excel, mais par Access.Application.

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Par défaut
    Oui,mais encore!!

    Je fais quoi ensuite ?

    merci
    a+

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    En quoi ca bloque? Je croyais que c'etait ton code qui buggait...
    Que fait ta macro "ImportStockPassif", je suppose qu'elle importe d'elle meme les données de ta feuille Excel, non?
    Quel enchainement attends tu? C'est quoi tes variables? Ca veut dire quoi "se pré-affichent"?
    Que fait ton formulaire à l'ouverture? Est-ce un formulaire de mise à jour, directement lié à une table? Est-ce un formulaire lié à une table et qui a un filtre? Est-ce un formulaire tel un Userform à travers lequel l'utilisateur fait des saisies et met ensuite une table à jour?
    Je lance les questions un peu en vrac, pour pouvoir mieux t'aider...

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Par défaut
    Bonjour,

    En quoi ca bloque? Je croyais que c'etait ton code qui buggait..
    le code bloque sur vba à cet endroit car je pense qu'il lui manque un lien dans access.Je ne sais pas vraiment quoi?

    Que fait ta macro "ImportStockPassif", je suppose qu'elle importe d'elle meme les données de ta feuille Excel, non?
    Ma macro d'access ouvre 2 fichiers sous excel d'imports, lit les données effectue des regroupements et les exportes dans un nouveau fichiers excel.

    Quel enchainement attends tu? C'est quoi tes variables? Ca veut dire quoi "se pré-affichent"?
    qu'il prennent les dates renseignées dans une page excel que j'ai défini et que j'ai incri comme table dans access.
    Que fait ton formulaire à l'ouverture? Est-ce un formulaire de mise à jour, directement lié à une table?
    le formulaire attend que je lui indique les fameuses dates qui sont dans la table. Mais je ne sais pas comment les lier à la table.
    Est-ce un formulaire lié à une table et qui a un filtre? Est-ce un formulaire tel un Userform à travers lequel l'utilisateur fait des saisies et met ensuite une table à jour?
    le formulaire n'est donc pour le moment pas lié à une table , il n'y a pas de filtre.Ce formulaire permet de faire la saisie des dates et c'est là que je cherche à savoir comment les renseigner automatiquement.

    Egalement,peut-être que la fonction valeur par défault est interressante pour garder la possibilité d'intervenir pour saisir une date différente que celle indiqué dans la table ?
    Merci pour ton aide.
    A+

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Si je comprends bien, tu as 2 problemes :
    - le bug du code
    - l'ouverture et l'initialisation d'un formulaire

    1/ Pour le bug, je ne vois pas trop pourquoi, car si MonAccess=CreateObject("Access.Application") ou New Access.Application (si tu as déclaré la référence), MonAccess.DoCmd.RunMacro "TaMacro" devrait fonctionner.
    As-tu déjà lancé ta macro d'importation sous Access? Est-ce qu'elle plante?

    2/ Pour l'ouverture du formulaire, une macro sous Access peut justement le faire, ensuite reste plus qu'à initialiser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonAccess.DoCmd.RunMacro "Ouvrir_Form"
    MonAccess.Forms("NomFormulaire").Controls("NomTextBox").Value = "ValeurVoulue"
    Ouvrir_Form est juste une macro sous Access ouvrant le bon formulaire.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/06/2011, 16h42
  2. commander macro Access à partir d'excel
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/03/2008, 20h38
  3. lancer une macro access à partir d'excel
    Par bybelos33 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/07/2007, 15h16
  4. Ouverture d'une Bd Access à partir d'excel
    Par ft035580 dans le forum Access
    Réponses: 12
    Dernier message: 06/10/2006, 16h22
  5. Lancer une macro PPT à partir d'Excel
    Par Rabah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/10/2005, 17h23

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