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

VBA Discussion :

Passer mon résultat de requête à EXCEL pour en faire un TCD


Sujet :

VBA

  1. #1
    Membre du Club
    Homme Profil pro
    enquiquineur d'unparia
    Inscrit en
    Février 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : enquiquineur d'unparia

    Informations forums :
    Inscription : Février 2014
    Messages : 82
    Points : 48
    Points
    48
    Par défaut Passer mon résultat de requête à EXCEL pour en faire un TCD
    Bonjour,

    J'ai réalisé une requête access, et je souhaite lors de l'éxécution de celle-ci que les résultats s'importent directement dans un fichier EXCEL, et de préférence dans un Tableau Croisé Dynamique.

    Je ne m'y connais pas trop en access, et j'ai essayé d'implémenter ce bout de code dans un module VB Access, ce qui a lamentablement échoué!

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, XXX, test.xls

    Voilà!
    Merci de votre aide.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu peux utiliser Excel directement pour lire des données d'une banque ACCESS.

    http://support.microsoft.com/kb/247412/fr

  3. #3
    Membre du Club
    Homme Profil pro
    enquiquineur d'unparia
    Inscrit en
    Février 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : enquiquineur d'unparia

    Informations forums :
    Inscription : Février 2014
    Messages : 82
    Points : 48
    Points
    48
    Par défaut ça marche, mais pas trop...
    Bonjour,
    et merci de ton aide!
    J'ai bien réussi à appliquer ce que tu m'as indiqué. Cependant une erreur survient.
    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
     
    Sub Test()
     
     
        'Create a new workbook in Excel
     
       Dim oExcel As Object
       Dim oBook As Object
       Dim oSheet As Object
       Dim oQryTable As Object
       Dim sNWind As String
     
     
       Set oExcel = CreateObject("Excel.Application")
       Set oBook = oExcel.Workbooks.Add
       Set oSheet = oBook.Worksheets(1)
     
       'Create the QueryTable
     
       sNWind = "L:\...\...\Requêtes LUCY\bdd_test.mdb"
     
       Set oQryTable = oSheet.QueryTables.Add("OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sNWind & ";", oSheet.Range("A1"), "Select * from 0_Test_nombre_client")
       oQryTable.RefreshStyle = xlInsertEntireRows
       oQryTable.Refresh False
     
       'Save the Workbook and Quit Excel
       oBook.SaveAs "L:\...\...\Requêtes LUCY\Book1.xls"
        oExcel.Quit
     
     
    End Sub
    Une erreur 1004 survient.
    De plus il me demande le mode d'ouverture, ce qui me semble bizare.

    Je débute vraiment sur ACCESS, désolé si ces questions sont évidentes!

    Merci!

    EDIT :

    J'ai finalement réussi, la requête s'éxécute, et son résultat s'inscrit bien dans book.xls.
    Cependant, le résultat est nul. Alors que; lorsque je lance la requête sur la BDD le résultat est très loin d'être nul.
    Faut il que mes données soit dans le excel également ? Dans mon cas ce n'est pas possible (760K lignes dans la BDD).

    PS :Le but final de ma recherche est d'inscrire sur 3 pages différentes le résultat de 3 requêtes différentes.

    Merci BiS.

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Avec quelle version d'ACCES ?

    À partir d'Office 2007, on ne peut plus utiliser le moteur Jet. Il faut utiliser le moteur ACE.

    As-tu mis le bon nom pour ton fichier ACCESS ?

    Tu peux aussi essayer d'importer manuellement tes données dans Excel. C'est la fonction Données externes ou Importer des données d'Excel. Avec Excel 2010, il y a un bouton spécialement pour Access dans le ruban (onglet données). Pour les versions avant 2007, c'est dans le menu Données - Données externes. Pour 2007, 2013, les versions MAC et les versions en-ligne, je ne sais pas. Il me semble, qu'à quelque part dans le processus tu devrais pouvoir construire la requête SQL idoine pour récupérer les données dont tu as besoin.

    Si l'importation manuelle réussit, tu devrais, avec un peu de chance, être capable de récupérer la chaîne de connexion et la requête SQL qu'Excel a utilisées et les réutiliser en VBA.

Discussions similaires

  1. [XL-2010] Requête Excel pour l'extraction des données à partir des autre fichiers Excel
    Par jihed saidaoui dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/03/2015, 10h23
  2. Réponses: 3
    Dernier message: 12/12/2010, 11h51
  3. [MySQL] Passer les résultats d'une requête dans un tableau 2D pour un webservice ?
    Par tintin72 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/06/2007, 02h36
  4. Quelle requête SQL pour obtenir mon résultat ?
    Par nicolas.pied dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/02/2007, 10h58
  5. [VB]Faut-il installer Excel pour y faire référence
    Par Mut dans le forum Installation, Déploiement et Sécurité
    Réponses: 11
    Dernier message: 21/02/2006, 15h28

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