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 :

Ouvrir Access depuis Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut Ouvrir Access depuis Excel
    Bonjour,

    Je souhaiterais ouvrir une BDD access depuis excel et effectuer quelques requetes, puis faire une mise à jour des données access (qui sont reprisent par excel) pour en donner des TCD.
    Quelqu'un aurait-il une idée de comment procéder avec des macro?

    Merci de votre aide

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

    As-tu fait une recherche dans la FAQ Excel (le lien est en haut de cette page) avec le mot Access comme critère ?

    http://excel.developpez.com/faq/inde...hercher=access

    Philippe

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    J'ai rien trouvé qui pourrais m'aider...
    Une autre aide?

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, tu as tout ce que tu cherches dans la FAQ

  5. #5
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour à tous

    regarde Ce fil
    j'y ai déposé un fichier

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    J'ai trouvé mon bonheur, enfin à peu de chose près.
    J'exécute ma macro, mais access (ou excel) ne semble pas d'accord avec mon extension.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Button1_Click()
     
        Dim Db As DAO.Database
        Dim strSQL As String
     
        Set Db = DAO.OpenDatabase("C:\Users\Chrys\Documents\BDD\BDDImportExportNEW.accdb", False, False)
     
    End Sub
    :'( un petit coup de main?

  7. #7
    Membre habitué
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2009
    Messages : 12
    Par défaut
    Bonjour,
    As-tu essayé de passer d'abord par la création d'un objet ? il faut également ajouter la référence Microsoft Access Object Library dans VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oAcApp As Object
     
    Set oAcApp = CreateObject("Access.Application")
    'Ouvrir la base de données
    oAcApp.OpenCurrentDatabase "C:\Users\Chrys\Documents\BDD\BDDImportExportNEW.accdb"

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

    Quelle référence as-tu coché ?

    Pour un fichier au format accdb utilise la référence : Microsoft Office 12.0 (14.0) Access Database Engine Object

    Le tuto à lire : http://warin.developpez.com/access/dao/

    Philippe

  9. #9
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Visiblement il me manquait une reference.
    J'ai tout bien coché, je n'ai plus d'erreur, mais je n'ai rien qui se passe...

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Button1_Click()
     
        Dim Db As Object
        Dim strSQL As String
        Set Db = CreateObject("Access.Application")
        Db.OpenCurrentDatabase ("C:\Users\Chrys\Documents\NewImportExport\BDDImportExportNEW.accdb")
     
    End Sub
    Si je coche trop de reference, ça pourrais empécher le bon déroulement de ma macro?

  10. #10
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, là tu es en Late Binding et donc tu n'as pas de références supplémentaires à cocher, celles qui le sont par défaut dans un fichier vierge doivent elles le rester.
    voir ici

    Il est conseillé de développer en Early Binding pour profiter de l'intellisense et si déploiement le faire en Late Binding pour ne pas voir de messages liés aux différences de version des références

  11. #11
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Hum... et donc supposons que je repasse à

    Dans tous les cas ça ne fonctionne pas...
    Help!!

  12. #12
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, là tu es en Early Binding et tu dois cocher la référence Microsoft DAO x.x Object Library

    Dans Visual Basic, vous disposez de trois interfaces d'accès aux données : ADO, RDO et DAO. Une interface d'accès aux données est un modèle d'objet qui représente différentes facettes de l'accès aux données. Avec Visual Basic, vous pouvez contrôler par programmation, la connexion, les générateurs d'instructions et les données renvoyées pour être utilisées dans n'importe quelle application.

    Pourquoi prévoir trois interfaces d'accès aux données dans Visual Basic ? Les techniques d'accès aux données évoluent constamment, et chacune des trois interfaces représente un stade diffèrent de cette évolution. La plus récente est ADO, qui met en œuvre un modèle d'objet plus simple (et cependant plus souple) que les modèles RDO ou DAO. Pour vos nouveaux projets, utilisez de préférence ADO comme interface d'accès aux données.

  13. #13
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Je l'avais coché, mais ça n'a rien fait de particulier.
    Donc je passe à ADO au lieu de DAO, mais y a toujours rien qui marche... (Evidement j'ai cocher Access Database Engine Object au lieu de DAO, c'est bien ça?)

  14. #14
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    A priori, c'est normal que ça ne fasse rien. Tu ouvres la base dans le code et tu n'en fais rien. Tu ne dois pas t'attendre à voir Access s'ouvrir.

    Désolé si ça te paraissait évident et qu'il y a bien du code après ce que tu as mis dans ton message, mais on ne sait jamais.

  15. #15
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Haaa... ok...
    Je pensais que cette ligne allait ouvrir access.
    que dois-je donc rajouter pour voir ma base s'ouvrir?

    Merci ZebreLoup

  16. #16
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Il ne faut pas confondre Access, qui est le logiciel et ta base, qui contient les données.
    Tu n'as pas besoin d'ouvrir Access pour accéder aux données. D'ailleurs tu peux très bien accéder à des données d'une base Access sans que Access soit installé sur le poste.

    Si tu regardes bien les tutos proposés plus haut, tu verras comment récupérer les données (via un recordset par exemple) pour les exploiter ensuite dans Excel.

  17. #17
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, pour cela il te faudra lire et assimiler ceci

  18. #18
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Je veux ouvrir un formulaire en fait, et donc je pensais que l'ouverture d'access etait indispensable.

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

    Citation Envoyé par Tytelle Voir le message
    Je veux ouvrir un formulaire en fait, et donc je pensais que l'ouverture d'access etait indispensable.
    Pourquoi ouvrir un formulaire ? Ce n'est pas que les données que tu veux récuperer ?

    A mon avis il faut que tu détailles entièrement ce que tu veux faire (l'explication du premier message n'est pas suffisante).

    Philippe

  20. #20
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut
    Je reformule ce que je voudrais faire.
    Je voudrais ouvrir un formulaire access via un bouton qui se trouve sur un classeur excel.
    Avec ce formulaire ouvert, j'ajoute des info sur mes données de ma BDD, et un dernier clique sur mon formulaire exporte mes données (et résultats de requetes) vers une fichier excel et ferme le formulaire.
    Il y aurais ensuite un refresh des TCD en fonction des données exportées dans mon excel.
    Voilà

Discussions similaires

  1. Ouvrir Access depuis Excel dèjà connecté
    Par Jean-Marc_RL dans le forum Access
    Réponses: 1
    Dernier message: 17/12/2013, 10h50
  2. Ouverture d'une table Access depuis Excel
    Par SlySylvain dans le forum Access
    Réponses: 3
    Dernier message: 28/07/2006, 19h36
  3. [VBA-E] Appel macro Access depuis Excel en mode silencieux
    Par lordkoko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2006, 11h12
  4. Impossible d'ouvrir une base Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 8
    Dernier message: 14/12/2005, 13h09
  5. Renseigner un formulaire Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2005, 12h12

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