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 Access Discussion :

[A-03] Exporter données access vers excel grace au bouton de commande d'un formulaire


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut [A-03] Exporter données access vers excel grace au bouton de commande d'un formulaire
    Re à tous...

    Voici un autre problème que je n'arrive pas à solutionner....

    J'ai un formulaire access (2003) qui permet d'ajouter des données dans une base. Lorsque j'appuie sur le bouton commande qui met la base à jour, je voudrais exporter les données de ce formulaire vers une feuille excel grâce au code vba... Ce formulaire est basé sur une requête qui renvoie certaines informations et qui permet d'en entrer d'autres... Je voudrais exporter l'ensemble des données comprise sur le formulaire vers un feuille excel...

    Dois-je passée par une table temporaire...?....

    Je ne vois pas comment faire...

    merci d'avance de votre soutien

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 628
    Points : 34 333
    Points
    34 333
    Par défaut
    salut,
    il y a plusieurs méthodes pour l'export vers Access,
    je te recommande la lecture de cet article dans la
    http://access.developpez.com/faq/?page=Excel#ExpExclReq
    ou encore l'article de cafeine à ce sujet :
    http://cafeine.developpez.com/access/tutoriel/excel/

    bonne lecture
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Merci beaucoup, je vais me lancer dans la lecture des liens que tu me proposes...

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Bonjour à tous ...


    J'ai lu les tutos dans la faq et ai essayé de "recycler" les codes qui s'y trouvent.

    Cependant, il semble que ne comprenne pas bien tout.

    J'ai essayé de faire un recordset et d'en extraire les données dont j'ai besoin, afin de les exporter dans une feuille excel....

    Voici mon code, issu des explications que j'ai lues ici et là....


    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
    Dim appexcel As Excel.Application
    Dim wbexcel As Excel.Workbook
    Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
     
        Dim sSQL As String
        ' Ouverture de la base de données
        Set db = DBEngine.OpenDatabase("C:\Chemi_vers_la_db_acces.mdb")
        sSQL = "Select * From MaTable Where [MaTable]![MonChamps]=[Forms][MaForm]![MonChamps]"
     
        ' Ouverture du recordset
        Set rst = db.OpenRecordset(sSQL, dbOpenSnapshot, dbReadOnly)
     
     
        Set appexcel = CreateObject("Excel.Application")
        appexcel.Visible = True
        Set wbexcel = appexcel.Workbooks.Open("C:\dossier\MonFichier.xls")
     
        appexcel.Sheets("Feuil").Select
     
        appexcel.cells(2, 2) = rst![MonChamps]
     
        ' Fermeture du Recordset
        rst.Close

    Mais ça ne fonctionne pas...Il doit y avoir un problème de syntaxe,car une erreur est levée, qui stipule :

    Run_time error '3061'
    trop peu de paramètres :1 attendu


    J'ai lu et relu les faq et autres tutos, je ne vois pas comment résoudre ce problème....

    Pouvez-vous m'aider svp... merci d'avance...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Bonjour,

    Le soucis provient d'une erreur de synatxe dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sSQL = "Select * From MaTable Where [MaTable]![MonChamps]=" & [Forms][MaForm]![MonChamps]

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Merci bcp, ça règle l'erreur soulevée et renvoie une valeur, cependant une autre erreur survient...

    Elle indique : Run-time error 3075

    ),] ou élément absent dans l'expression '[MaTable]![MonChamps]='Valeur'


    Peux-tu m'indiquer ce qui pourrait manquer stp...?.... merci...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    Essaie plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     sSQL = "Select * From MaTable Where [MaTable].[MonChamps]=" & [Forms][MaForm]![MonChamps]
     
    'ou alors juste
     sSQL = "Select * From MaTable Where [MonChamps]=" & [Forms][MaForm]![MonChamps]
     
    'si monchamp est de type texte alors il faut rajouter les cotes dans la chaîne
     sSQL = "Select * From MaTable Where [MonChamps]='" & [Forms][MaForm]![MonChamps] &"'"
    pour obtenir par exemple "Select * From MaTable where monchamp='Toto'"

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Mille merci....

    Je vais essayer ça.... je te fais un "feedback"...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Je viens de vérifier et j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sSQL = "Select * From MaTable Where [MaTable].[MonChamps]=" & [Forms]![NomForm].[NomChamps]
    Bon courage

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    C'était bien à cause du fait que la valeur du champs était de type texte....!!!...
    Merci beaucoup, ça marche à la perfection... en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sSQL = "Select * From MaTable Where [MonChamps]='" & [Forms]![MaForm]![MonChamps] &"'"
    Mais j'ai du ajouter un "!" entre [Forms]et[MaForm]....


    Merci encore de votre soutient à tous.....

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2015
    Messages : 120
    Points : 58
    Points
    58
    Par défaut une Question ?
    Salut,
    ...et si on veut selectionner plusieur table ou plusieur champs de plusieur table ?
    est ce que on peut faire pareil pour une requette entiere ??
    Merci

  12. #12
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 628
    Points : 34 333
    Points
    34 333
    Par défaut
    oui
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2013, 12h48
  2. [E-03] Erreur 3265 dans script Export données Access ver Excel
    Par Ashram2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/09/2008, 15h23
  3. Exportation de données access vers excel
    Par garsflo dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/05/2007, 01h13
  4. exportation de données access vers excel
    Par ptitemel dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 12/07/2006, 14h24
  5. exporter des données access vers excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 8
    Dernier message: 20/06/2006, 23h29

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