MS QUERY - Macro

Bonjour,

Je suis en train de travailler sur un projet afin d'importer des données d'accès dans excel. Voilà que j'ai découvert un petit truc super sympa les requètes avec MS QUERY dans donnée/donnée externe/Créer une requête.

Je voudrais aussi faire un macro qui automatise ma tâche, donc j'utilise l'enregistreur de macro. Lorque j'ai moins de 30 champs dans ma requête, l'enregistreur enregistre bien, dès que je sélectionne 30 champs, il met mon code en rouge (voir fichier ci-joint)

est-ce que quelqu'un à une idée?

merci de votre aide

Vincent

104test.zip (12.54 Ko)

Bonjour vinc87,

Si le code est en rouge c'est parce qu'il y a une virgule en trop à la fin de ton array (juste avant la parenthèse). Mais le problème ne vient peut-être pas de là.

Comment sélectionnes-tu tes champs ? Car il faut savoir qu'Excel est limité à 30 arguments pour une fonction. Peut-être que ça vient d'ici ?

Peux-tu donner toutes les étapes de ta création de requête ? Je voudrais voir comment tu sélectionnes tes champs.

Salut,

Merci de ta réponse, Je sélectionne mes champs dans l'enregistreur de macro tout simplement... Je crois que ton limite de 30 peut p-e venir de la . Tu peux esseyer de ton côté, créer toi un fichier excel avec douze colonnes, fait une requète et insère 30 champs.

Merci

re,

vinc87 a écrit :

Merci de ta réponse, Je sélectionne mes champs dans l'enregistreur de macro tout simplement...

oui j'avais compris
vinc87 a écrit :

Tu peux esseyer de ton côté, créer toi un fichier excel avec douze colonnes, fait une requète et insère 30 champs.

Oui mais comment fais-tu ta requête !! J'ai fait "créer une requête" mais après je fais quoi ? Il y a plusieurs options !

Salut,

De mon côté, j'ai selectionner une base de donnée accès, si tu veux en faire une test avec excel, il faut nommer toute ta plage de donnée.

Donc, tu cliques sur le type de base de donnée que tu as besoin, tu la selectionne, n'oublie pas, pour excel il faut nommer la plage...

Si tu as d'autres questions, n'hésite pas !

Merci !

Re,

J'ai fait quelques test (peut-être pas exhaustifs) mais en effet l'enregistreur ne veut pas dépasser une certaine limite. La limite ne semble pas être le nombre de champs étant donné que j'ai fait une requête avec 34 champs (l'enregistreur me coupe un bout du 34è champ).

J'ai donc remarqué que c'était le nombre de caractères qui était limité. 1000 pour être exact. Ce n'est pas la fonction Array qui est limitée mais lorsque l'on choisit les champs pour la base de données, on ne peut pas aller au-delà de 1000 caractères. Est compris dans ce nombre, le nombre de caractères que comporte le nom de la feuille (multiplié par le nombre de champ, ça commence à faire !) et quelques autres bricoles.

Donc peut-être faudra-t-il raccourcir le nom de la feuille ou le nom des champs ?

Ok, merci beaucoup pour la solution... je vais esseyer de réduire le nom des champs et le nom de mes feuilles...

Merci encore !!

Est-ce que tu connaissais cette fonction ?

Ya pas d'quoi

vinc87 a écrit :

Est-ce que tu connaissais cette fonction ?

Si tu parles de la fonction de création de base de données, je ne la connaissais pas du tout. Mais bien que ça soit peu probable que je l'utilise, elle me semble intéressante ! Sais-tu si on peut faire des requêtes qui ressemblent à celles d'Access ?

Oui, tu peux même lier tes tables... je trouve que c'est un utilitaire pratique qui permet de lier accès et excel dans excel pour ceux qui ne sont pas des mordus de accès comme moi... !

Rechercher des sujets similaires à "query macro"