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 :

Lancer une macro Excel depuis Access


Sujet :

Access

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut Lancer une macro Excel depuis Access
    Bonjour tout le monde !!

    Je suis sous access 97 (en anglais) et de excel 2000 (en anglais). J'ai un formulaire qui me sert à entrer les nouveaux enregistements dans ma base de données. Sous access j'utilise une macro qui appelle une requete pour filtrer ma bdd, résultat que j'envoie vers excel.
    J'ai crée sous excel une macro qui me fait la mise en page de mes colonnes, couleur, forme etc... Macro qui fonctionne parfaitement.
    Mon seul souci est que je voudrais que la macro s'exécute toute seule.
    En copiant le contenu de la macro faite sur excel (VB) et coller dans un module d'access, module que j'intégrerai dans ma macro access avec un OpenModule. C'est ce que j'essaye de faire depuis plus de deux semaines. Le truc c'est que lorsque je lance ma macro access, le compilateur me dit que toutes mes lignes de code sont fausses, pas aussi directement mais il le dit.
    Pourtant j'ai suivi les instructions que j'ai vu dans la FAQ en integrant les librairies adéquates. Ca me paraît bizarre. Est-ce normal ? Est-ce une incompatibilité entre Access97 et excel2000 ? Rappellez moi quand même les librairies a rajouter dans mon cas juste pour vérifier si ce sont les bonnes que j'ai mise.

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    montre ton code deja!
    et di de maniere plus courte ce que tu veux réelemet faire! Tu as dis 10 trucs en même temps!

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    merci jm force de t'interesser à mon problème.

    pas besoin de prendre un grand code, meme celui-la y marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro2()
    '
    ' Macro2 Macro
    ' Macro recorded 26/07/2006 by All Users
    '
     
    '
        Columns("A:B").Select
        Selection.ClearContents
    End Sub
    Ce que je veux réellement c'est de lancer la macro que j'ai fabriqué sous excel (qui fait la mise en page) à partir de ma macro sous access (en faisant OpenModule) pour que la mise en page se fasse toute seule. Il ne faut pas que je la lance manuellement.
    Voila, j'espère que c'est plus clair pour vous, c'est vrai que j'ai raconté un roman toute à l'heure.

    Merci d'avance

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    ha oki!

    je pense pas que ça soit possible de le lancer depuis Access, mais ce que tu peux faire c'est de le lancer à l'ouverture de excel et la macro demarre toute seule.
    pour ceci, tu doi appeler ta macro :

    Private Sub Workbook_Open()
    Ton code ici
    End Sub

    voila, donc dans excel tu change juste le nom de ta macro et el demarre toute seule quand excel s'ouvre!

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    as-tu testé pour vérifier si ce que tu dis est vrai. si oui dis moi quelles librairies il y a dans tes références parce que je crois que c'est à cause de ça que rien ne marche.

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    même dans excel ta macro ne marche pas?

    je croyais que ta macro marchait déja?

    si elle marche tu fais juste ce que je t'ai dis!

    en tout cas le code que tu m'a donné là ne fonctionnera pas dans access avec ou sans bibliotheque adéquate!

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    si bien sur que quand je lance ma macro dans excel elle marche nickel ça c'est bon.

    J'ai fais ce que tu m'as dis en mettant ton code dans un module, j'ai fais OpenModule après la ligne OutputTo (mon fichier excel) où j'ouvre mon module, et il me sort toujours des erreurs.
    C'est pour ça que je t'ai demandé que tu me dises précisement les librairies que tu as utilisé pour que ça fonctionne chez toi, parce que le problème vient de là, j'en suis certain.

    Merci

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    je n'ai pas fait de programme identique, je te donnais juste une solution pour que ta macro démarre tte seule quand tu lances excel.
    et pas besoin de changer quoique ce soi dans ta macro ou ton programme qui marchait avant.

    mais à parament ce n'est pas ça ton principal probleme!

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    ce que tu veux faire ça s'appelle de l'automation Excel.

    Il faut ajouter une référence Excel
    http://cafeine.developpez.com/access...el/excel/#LV-A

    Et ensuite pour un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Columns("A:B").Select
        Selection.ClearContents
    l'adapter en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim appexcel as Excel.Application 
    Dim wbexcel as Excel.Workbook
    Set appexcel = CreateObject("Excel.Application") 
    appexcel.Visible = True 
    Set wbexcel = appexcel.Workbooks.Open("Chemin du fichier Excel")
        wbexcel.Columns("A:B").Select
        wbexcel.Selection.ClearContents
    wbexcel.Save
    appexcel.Quit
    Set wbexcel = Nothing
    Set appexcel = Nothing

  10. #10
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Avec une macro, c'est impossible. il va falloir utiliser VBA.

    Un exemple qui lance une macro Word :

    oApp.Application.Run MacroName:="nom macro"
    où oApp est déclaré plus haut.

    Dim oApp As New Word.Application
    Ce sera le même principe pour Excel.

    Dans la FAQ tu trouveras de quoi :

    1. Lancer Excel
    2. Ouvrir ton classeur
    3. Exécuter la macros avec le code que je t'ai donné
    4. Enregistrer et fermer.

    Bon courage

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    merci de rejoindre la discution, c'est ce que j'aime sur ce forum!
    les aides viennent de partout!

    j'espere que tu trouveras ton bonheur avec tout ça!

    bon courage!

  12. #12
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    merci a vous deux Caféine et Tofalu pour vos renseignements.

    J'ai d'abord tenter ta solution Caféine, mais faut-il obligatoirement (comme tu me montres dans la FAQ) que les versions soient les memes pour access, office, excel et pour DAO? parce que si c'est le cas je pourrais pas vu que j'ai excel et office en 9.0 et access en 8.0.Si ce n'est pas ce qui faut dis moi lesquelles mettre (access97 excel2000 et office en 9.0). Quand je lance ma macro access il me dis " Control can't be edited;it's bound to unknown field 'ENCOURS' ".

    Pour Tofalu, je pense que tu me connais maintenant et que je n'ai rien compris.

    Pour ce qui est de jm Force, ta rien compris a ce que je t'ai dis, je t'ai jamais dis qu'il fallait que je change de code, ta pas saisi mais ca pas grave je t'excuse.

    Merci a tous

  13. #13
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    La version d'Excel. Ajoute la référence Excel disponible.

    Pour Tofalu, je pense que tu me connais maintenant et que je n'ai rien compris.
    Pourtant je t'avais donné le chemin étape par étape

    L'erreur se produit sur quelle ligne ?

Discussions similaires

  1. [AC-2007] lancer une macro excel depuis access est ce possible ?
    Par Debutant10 dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/06/2011, 21h35
  2. lancer une macro excel depuis access
    Par Thyrolas dans le forum IHM
    Réponses: 1
    Dernier message: 16/12/2008, 17h54
  3. [Manipulation Excel] Executer une macro Excel depuis Access
    Par sebastien_oasis dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2007, 15h21
  4. lancer une macro excel depuis une appli access
    Par LostIN dans le forum Access
    Réponses: 1
    Dernier message: 22/08/2006, 11h10
  5. Lancer une macro Excel depuis Access
    Par marcobosio dans le forum Access
    Réponses: 6
    Dernier message: 05/06/2006, 20h51

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