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 :

[XL-2010 AC-2010] Importer une requête acces dans excel avec modifications des filtres


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 22
    Points
    22
    Par défaut [XL-2010 AC-2010] Importer une requête acces dans excel avec modifications des filtres
    Bonjour

    J'ai posté cette question dans le forum excel mais on m'a conseillé de venir ici

    je fais appel à votre aide car je désespère.
    Je suis débutant en VBA.
    J'ai une requête Access dans laquelle je dois changer un filtre puis ensuite l'importer sur une feuille Excel.
    Je pensais bien faire en cherchant à modifier le filtre d'un champ en utilisant parameters mais j'ai toujours un message d'erreur
    au niveau de la dernière ligne de code (j'ai testé cdate, format et en dur)
    CODE d'ERREUR 3265.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.Parameters("MaturityDate").Value = "#23/02/2015#"
    Y a t'il des protections sur une requête access?
    Qu'est ce que je fais de mal? j'ai parcouru d'autres sources et il me semble que les personnes procèdent de la même manière...


    Merci pour votre aide.

    Marso.

    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
     
        Dim acApp As Access.Application
        Dim Infocentre As DAO.Database
        Dim Db As DAO.Recordset
        Dim Query As DAO.QueryDef
        Dim srcPathBdd As String
        Dim nomDeLaRequete As String
     
        ' Démarrer Access
        Set acApp = New Access.Application
     
        ' Initialise le chemin de la base de données
     
        srcPathBdd = "C:\X.accdb"
     
        ' Ouvrir la base de données concernée
        acApp.OpenCurrentDatabase (srcPathBdd)
        Set Infocentre = acApp.CurrentDb()
     
        'Seletionne La Requête concernée
        nomDeLaRequete = "NomRequete"
        Set Query = Infocentre.QueryDefs(nomDeLaRequete)
        'on change le paramètre de la date
     
     
        'Query.Parameters("MaturityDate").Value = "#23/02/2015#"

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,

    si ton parametre est de type date, sa valeur doit aussi l'etre.

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.Parameters("MaturityDate").Value = #02/23/2015#
    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 à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    merci pour ta réponse.
    ce champ est bien une date.
    J'ai le même résulta d'erreur avec ta ligne de code et aussi lorsque que je mets la date entre "".

    Marso.

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Hum, et peut-on voir le SQL de ta requete en question stp ?

    La syntaxe etant donnee ici :
    http://access.developpez.com/faq/?pa...s#UtilReqExist
    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

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    J'en étais arrivé à me dire que j'allais créer un nouveau recordset et executer la même requête SQL que dans ACCESS en modifiant mon filtre.
    Mais j'aimais la clarté et la simplicité de l'utilisation de "parameters", je dirai que c'etait plus pratique pour quelqu'un qui devrait reprendre le code.
    heu.. j'avoue que la requete SQL est assez grosse j'ai pas trop envie de la sortir comme ça en fait.
    il faudrait quoi comme mot clef?
    en tous cas pour le filtre c'est "AND ((dbo_Bonds.MaturityDate)>#2/20/2015#)" il y a la selection de qqs champs et 8 lignes de LEFT JOIN sur des tables en liens.
    et c'est en copiant la requete que je me rends compte qu'il faut mettre en date US.
    Est ce suffisant?

    Merci.

    Marso.

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    OK,

    du coup en remplacant dans ta requete
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    AND ((dbo_Bonds.MaturityDate)>[MinMaturityDate])
    +
    en gardant la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.Parameters("MinMaturityDate").Value = #02/23/2015#
    ca donne quoi ?
    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

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    et bien ça fonctionne nickel
    merci beaucoup!!!!

    En revanche donc j'ai rien compris...
    Donc on ne peut pas paramétrer le Champ directement mais juste une variable contenu dans son filtre?

    merci.

    Marso.

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Si tu veux attribuer une valeur a un parametre, encore faut-il que ce parametre existe
    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

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    oui
    je cherche à sauter les étapes...
    Je confondais les paramètres avec les champs...
    je te remercie beaucoup!

    Marso.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/08/2018, 19h52
  2. [XL-2010] Importer une matrice creuse dans excel
    Par flo00154 dans le forum Excel
    Réponses: 2
    Dernier message: 23/12/2013, 19h21
  3. importer une page web dans Excel
    Par ilcocodrillo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/08/2008, 11h00
  4. EXporter une requête Access dans Excel
    Par hellbilly dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/07/2006, 15h51

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