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

Excel Discussion :

Comment passer un paramètre Excel à une requête MSQUERY vers Access?


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Comment passer un paramètre Excel à une requête MSQUERY vers Access?
    Bonjour,


    J’utilise un logiciel de comptabilité pour gérer mon bugdet (Maxi Compte pour ne pas le citer) qui manipule des fichiers de base de données Access 2000.

    Dans Excel, je veux me faire un récapitulatif d’un certain nombre de catégorie de dépenses par mois des données issues du logiciel de comptabilité.

    J’ai donc utilisé Microsoft Query pour faire la requête que je voulais sur la base de données (en l’occurrence, le montant de dépense en carburant pour le mois de janvier 2010) et ça fonctionne.

    Lorsque je fais une importation de données pour récupérer la requête, le montant est bien renvoyé, cela fonctionne parfaitement.

    Je voudrais savoir s’il est possible d’utiliser un paramètre venant de Excel pour pouvoir faire une requête personnalisé

    Exemple : pour le moment, j’enregistre 12 requêtes différentes dans lesquels je mets la condition pour choisir le mois.

    Est-il possible de ne faire qu’une seule requête et d’utiliser le contenu d’une cellule (qui contiendrait le numéro du mois) et de passer le contenu de cette cellule en paramètre pour l’utiliser dans la requête ?

    Merci d'avance

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonjour


    Oui, c'est possible, mais est-ce le plus productif?

    Ne serait-il pas plus intéressant de toujours récupérer l'entièreté de l'exercice puis d'utiliser les outils d'Excel (Tableaux croisés dynamiques, notamment) pour isoler et/ou comparer les mois?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Mon tableau Excel a un caractère strictement personnel donc en l'occurrence non ça ne serait pas forcément le plus adéquat pour ce que je veux faire. Pouvez-vous m'aider s'il vous plaît pour l'envoi de paramètres ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Pour utiliser des données Excel comme critères d'une requête MSQUERY sur Access, je ne vois que du VBA pour recomposer la chaine SQL avec le bon paramètre.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    comme pour Access Query supporte les requêtes paramétrées.

    Dans Query Critères/Ajouter un critère. Dans la zone valeur mets: [mois], ne pas oublier les crochets.
    Désormais à chaque actualisation de la requête dans excel, query demandera la valeur du paramètre ou la cellule où il peut aller le chercher.

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Chez moi, cette astuce ne fonctionne pas lors de l'actualisation de la requête, mais uniquement lorsque l'on modifie la requête via msquery (Excel 2007/Access 2007)

    [EDIT 14:32] Je retire ce que j'ai dit. Après quelques hésitations, MSQuery a effectivement redemandé le paramètre.

    Cela étant, ce n'est pas très automatique comme solution. Perso, je préfère ma technique en VBA qui, selon le contexte, permet l'automatisation de la récupération des données sur base de données calculées dans les feuilles...
    [/EDIT]

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos réponses.

    J'ai effectivement ajouté un critère dans Microsoft Query et ça fonctionne très bien. Par contre, je voudrais aller plus loin parce que actuellement, je prends la référence d'une cellule comme paramètre pour la requête.

    Exemple :

    ColA ColB
    Lign1 1 -71,2
    Lign2 2
    Lign3 3
    ....
    jusqu'à ligne 12 (car ce sont les mois de l'année)

    La cellule B1, qui prend comme paramètre la cellule A1, contient le résultat de la requête exécuté dans Microsoft Query.

    J'aimerai savoir s'il est possible de faire un copier/coller la cellule B1 en B2 et qu'elle puisse prendre en paramètre la cellulle qui est à sa gauche de façon automatique (sans avoir à refaire la manipulation de la création d'une nouvelle requête de l'associer à la cellule correspondante pour chaque mois) ?

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Comprends-tu mieux à présent pourquoi je te proposais de récupérer toutes tes données dans une seule requête puis de traiter les données dans Excel?

    Ici, tu vas devoir créer plusieurs requêtes différentes pour arriver à tes fins.

    Qui plus est, au vu de ce que tu expliques, tu ramènes une seule donnée de ta requête.

    Si tu as 10 données à récupérer pour douze mois de l'année, tu vas créer 120 requêtes?

    De toutes façons, ce que tu demandes me semble impossible, car la recopie de la zone de réception des données de la requête initiale va effectivement dupliquer la requête, et tu devras adapter le paramètre [mois] à la main ou par vba...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Ouai...

    En fait je vois ou tu veux en venir...
    Il faudrait que je récupère directement dans ma requête les informations dont j'ai besoin pour les retourner dans Excel sans passer par cellules qui contiendraient des paramètres à utiliser dans la requêtes. Economie de requête et plus de simplicité dans un sens. Et comme tu dis à priori ce n'est pas possible ce que je veux faire, il faudrait changer tout à la main ou passer par du vba. Je pense que tu as raison, le plus simple est de récupérer directement les informations dont j'ai besoin dans la base de données Access.

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Je pense que c'est la meilleure solution.

    Pense aussi que Access est un "moteur de données" CLIENT, donc, tout se fait sur TON pc. Si tu te connectes à un réseau pour récupérer les données, tu risques de le mettre à genoux, puisqu'une requête scalaire en Access ramène le jeu complet de données sur ton poste où les critères discriminants seront appliqués... Tu as donc tout intérêt, en tout cas avec Access, à ramener le résultat sur ton poste en une seule requête.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Voilà qui est fait

    J'ai effectué ma requête. Elle me retourne bien les différentes informations dont j'ai besoin. En fait, j'avais un doute quand à la faisabilité de la requête c'est pour cette raison que je voulais passer par des paramètres. Mais la requête fonctionne très bien donc c'est superbe.

    Je te remercie de m'avoir guidé ainsi qu'à Benjîle d'être intervenu

    Merci beaucoup

    A + tard peut-êre

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2013, 14h45
  2. Comment passer des paramètres dans une requête XPATH
    Par SyLvErStOrM dans le forum BIRT
    Réponses: 18
    Dernier message: 29/04/2011, 11h08
  3. Réponses: 8
    Dernier message: 09/12/2008, 10h04
  4. Réponses: 1
    Dernier message: 21/03/2006, 14h29
  5. Réponses: 8
    Dernier message: 17/03/2006, 08h06

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