Récupérer dans Excel les données d'une requête paramétrée Access

Polobe36

XLDnaute Occasionnel
Bonjour à tous, le Forum,

Je créé des requêtes dans ACCESS et exporte ensuite les données dans EXCEL (Données\Données externes\ACCESS) sous la forme d'un tableau. Cela fonctionne parfaitement sauf si je créé un ou plusieurs critère(s) sur les champs de ma requête. Dès lors, la plage de mon tableau est vide, sans aucune données (uniquement les en-têtes).
Et si j'enlève les critères, l'import des données se fait bien sans problème.

Merci de votre aide sur le sujet.

Cordialement
 

Paritec

XLDnaute Barbatruc
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Re Plobe36 le forum
si tes critères sup sont des filtres ou conditions c'est plus facile de traiter dans excel directement à mon avis
comme cela tu ne touches plus à ta requête qui marche!!
a+
Papou:)
 

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Bonjour Paritec,

Merci tout d'abord de ton attention.
Non pas dans ce cas là, je m'explique.

On m'a créé une base ACCESS qui est une copie de la base de données de la GMAO dans laquelle je viens rechercher, filtrer et exporter les différentes données dont j'ai besoin.

Le fait de passer par ACCESS cause certains soucis, notamment en terme d'accessibilité sur certains postes de travail et puis c'est plus simple et plus rapide d'exécution d'effectuer une requête SQL. Seulement je ne connait pas ce langage :(

C'est pourquoi, je créé mes requêtes dans ACCESS, puis copie le code SQL que j'intègre dans une macro VBA sous EXCEL en adaptant le langage.

Seulement dans certains cas, notamment dans celui où des données n'existent pas dans la BDD GMAO sous forme de table mais plutôt sous forme de liste de valeur, je suis obligé de créer une table dans ACCESS et me servir donc de la requête sous ACCESS et plus avec SQL (cela dit il y a certainement moyen de rechercher une liste de valeur mais je ne sais pas faire).

Sinon, pour le deuxième post, je travaille avec un fichier EXCEL assez conséquent en terme de connexions et si je devais créer une table (onglet sous excel) pour chaque requête, çà ferait beaucoup, et aussi beaucoup de données inutiles à filtrer ensuite dans EXCEL.
Ce lien n'existe plus

C'est pourquoi je voulais tenter une autre méthode
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Re Polobe36 le forum
oui mais dans ce cas comment veux-tu que l'on t'aide?? on a pas la base access ni ce que tu veux en tirer, alors une certitude c'est possible mais après?????
Moi je fais pour mes fichiers des requêtes SQL avec des jointures et j'importe dans excel, mais en ayant toutes les données en main.
Pour t'aider, il nous faut des billes!!!!
Tu as combien de requêtes sur ta base access?? et que dois-tu traiter après??
a+
Papou:)
 

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Bonjour à tous, Paritec,

Désolé pour le manque de clarté de ma part, je découvre un peu tout çà et ne suis donc pas très explicite.
J'ai résolu une partie de mon problème: j'ai découvert qu'en fait il existe une table dans la base de données GMAO qui regroupe l'ensemble des données des listes de valeurs, je peux donc faire une requête SQL importée dans VBA sous EXCEL.

J'ai compris ton principe, et effectivement le fait de créer des requêtes sans critères sous ACCESS mais plutôt sous forme de variable sous EXCEL est bien plus efficace. c'est d'ailleurs ce que je fais pour les requêtes SQL. Je vais tester çà et te tiens au courant.

Après j'ai une 20aine de requête ACCESS (que j'essaie d'éliminer et traduire en SQL).

Bonne journée
 

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Re Paritec,

Cà y est, j'ai atteins mes limites... du coup je suis désolé, mais j'ai dévié du sujet, alors s'il fallait aller "ailleurs" merci de me l'indiquer.

J'ai bien créer ma requête sous ACCESS (une peu lourde peut-être), j'ai copié le code SQL dans ma macro VBA. J'ai essayé de traduire ce que je savais mais j'arrive au message d'erreur:
"Syntax error, permission violation, or other nonspecific error"

Je te joins deux fichiers, le premier est le résultat SQL sous ACCESS, le second la traduction que j'en ai faite

Merci d'avance de m'aiguiller :eek:
 

Pièces jointes

  • SQL sous ACCESS.docx
    12.1 KB · Affichages: 114
  • SQL sous VBA.docx
    13.4 KB · Affichages: 128
Dernière édition:

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Re,

j'ai essayé de simplifier la chose, mais j'ai une erreur de syntaxe sur AS...

çà ne s'improvise pas..:(
 

Pièces jointes

  • SQL sous VBA2.docx
    13.1 KB · Affichages: 97
  • SQL sous VBA2.docx
    13.1 KB · Affichages: 121
  • SQL sous VBA2.docx
    13.1 KB · Affichages: 116

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Bonjour à tous, Paritec,

Comme promis je reviens vers vous après avoir fais quelques modifications (enfin pour le coup pas moi mais un collègue), et voici ce que çà donne en fichier joint.

Du coup j'ai compris ta demande Paritec, et donc non je ne fais pas de connexion directement avec sql server parce qu'on arrive pas à se connecter par ce biais à la base de données (mon collègue parle de paramétrage sécurité du serveur), et que les deux méthodes qui me sont proposées sont:
1- de faire des connexions avec ACCESS (d'où l'origine de ma demande), je vais donc voir pour appliquer tes conseils
2- de créer une macro contenant une requête sql (ce qui fonctionne bien lorsque l'on connait le langage sql, pas comme moi..)

Je reste cependant ouvert à toute idée, peut m'importe la manière si le résultat me convient ;)

Bonne journée à tous,

Cordialement
 

Pièces jointes

  • SQL sous VBA2.docx
    13.8 KB · Affichages: 105
  • SQL sous VBA2.docx
    13.8 KB · Affichages: 117
  • SQL sous VBA2.docx
    13.8 KB · Affichages: 113

swissboy

XLDnaute Nouveau
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Salut,

J'ai lu attentivement les infos que tu donnes et bien que je connaisse relativement bien Access et Excel, je n'ai absolument rien compris à propos de la finalité à laquelle tu veux arriver.

Pour répondre à ton premier message (exportations vides), si tu affiches ta requête Access en Mode Feuille de données après avoir paramétré tes critères (et qu'il y a des données qui s'affichent, sinon c'est normal que l'exportation soit vide ;)) tu peux sélectionner toutes les colonnes, faire CTRL+C, te rendre dans une feuille Excel, te mettre en A1 et faire CTRL+V. Ca évite de passer par le processus des Données externes qui apparemment te pose problème et ne prend pas en compte tes critères.

A plus !
swissboy
 

Polobe36

XLDnaute Occasionnel
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Bonjour swissboy,

Mon but est de pouvoir effectuer des extractions d'une base de données à partir d'Excel. Etant donné que je ne suis pas calé ni dans access, ni en sql, j'essaie de faire comme je peux.
Le copier/coller depuis ACCESS.. si je pouvais automatiser les choses çà le ferait bien mieux.. Donc ce que j'essaie de faire, c'est de créer une requête depuis ACCESS, puis en mode création SQL je copie le code, je vais ensuite dans VBA sous EXCEL, puis colle le code que je "traduis" pour que cela fonctionne sous EXCEL.
Sinon il y a la méthode de Paritec (pour laquelle je dois prendre du temps pour essayer).

Au final, je veux que tout utilisateur puisse exécuter facilement les requêtes depuis des fichiers Excel dont ils auraient l'accès, c'est pourquoi j'étais parti sur ACCESS (mais cela demande qu'il soit installé sur tous les postes concernés = impossible au final dixit le service informatique) et suis donc obligé de passer par la méthode décrite plus haut.

Je sais pas si c'est plus clair :confused:
 

swissboy

XLDnaute Nouveau
Re : Récupérer dans Excel les données d'une requête paramétrée Access

Merci pour les précisions !
As-tu pensé à Access Runtime, cela pourrait résoudre ton problème dans le sens où tous les utilisateurs pourraient ouvrir ta base, sans forcément qu'Access soit installé sur leur machine (si c'est une question de licences par exemple). Runtime est gratuit, tu devrais donc creuser dans ce sens si tu penses que ça peut être une solution. Ce sera beaucoup plus simple !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA