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

Requêtes et SQL. Discussion :

Automatiser une requete sous Excel


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Automatiser une requete sous Excel
    Bonjour,

    J'ai une requête sous Access, qui me demande de rentrer un certain nombre de paramètres, et qui me donne au final un tableau comportant des données que je souhaite traiter sous Excel.
    Ce que je cherche à faire, c'est à automatiser cette requête sous Excel, c'est-à-dire que depuis Excel j'aimerais importer ce tableau d'un seul clic (avec les paramètres rentrés au préalable dans un autre tableau de mon fichier Excel).

    Est-ce possible ?

    Merci

    Antoine

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les forums Office de DVP.

    Oui, on peut piloter Access au départ d'un autre logiciel capable de manipuler le VBA.

    On peut utiliser le DAO.

    Dans le projet Excel, il faut déclarer la bibliothèque Microsoft DAO 3.6


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub ImportAccess()
     
    'Déclaration des variables
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sql as string
    dim iR as integer
    Dim sh As WorkSheet
     
    'Affectation d'une feuille de calcul
    Set sh = ActiveWorkbook.Worksheets(1)
     
     
    'Affectation d'une base de données
    set db = DAO.OpenDatabase("Lechemindemadb")
     
    'Le code SQL qui va servir à extraire les données
    sql = "Select * From matable "
    sql = sql & " Where MonChamp = '" & ActiveSheet.Cells(1,1).Value & "';"
     
    'Ouverture du recordset
    Set rs = db.OpenRecordset(sql)
     
    'On va parcourir les enregistrement du recordset pour les injecter dans une feuille de calcul
    While not rs.EOF
        iR = iR + 1
        sh.Cells(i, 1) = rs.Fields("LeChamp1")
        sh.Cells(i,2) = rs.Fields("LeChamp2")
    end
     
    'libération des objets
    rs.Close
    set rs = nothing
    Set db = nothing
     
    End Sub
    Je n'ai pas testé le code, je l'ai écrit à la volée, mais il devrait fonctionner en changeant certaines choses.

Discussions similaires

  1. Execution d'une requete sous excel-debutant en excel
    Par Kalvin_20 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/05/2008, 11h50
  2. [VBA-E]requete sous excel
    Par isa21493 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/02/2006, 10h50
  3. [débutant] automatiser une requete
    Par banker dans le forum Access
    Réponses: 4
    Dernier message: 15/02/2006, 15h11
  4. Suppression d'une feuille sous excel
    Par dimdidi dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 09h29
  5. Probleme pour faire une somme sous Excel
    Par Nicolas92 dans le forum Excel
    Réponses: 5
    Dernier message: 02/12/2005, 11h38

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