|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Futur Membre du Club
![]() Inscription : mars 2004 Messages : 50 ![]() |
Bonjour à tous,
Je travaille actuellement sur plusieurs fichiers Excel, récupérant des données à droite et à gauche, principalement par requêtes SQL, pour éviter d'ouvrir les fichiers Excel. Voici en gros un modèle de mon code : Code :
En revanche, ces fichiers Excel ayant d'autres utilités que de servir de base de données, il arrive qu'ils aient la structure de titres suivante (voir pire) : | TENSION | | V_MIN | V_MAX | | 0 | 5 | ... Pour le moment, les 2 solutions que j'ai mis en oeuvre sont : - Copier les données dans un fichier temporaire, réaliser mes requêtes dessus, puis détruire le fichier ; - Utiliser une tout autre méthode (récupération des données dans un tableau, ajout dans une collection avec une clé) si le seul intérêt est de copier des infos à partir d'une clé donnée. J'ai appris récemment qu'en définissant des zones d'impression par exemple, de nouvelles tables sont "créées" dans le fichier Excel (elles apparaissent dans la liste des tables). Mais là, je ne maitrise plus du tout le sujet : je ne sais pas dans quelle mesure on peut y accéder, ni sous quelles conditions. Ma question est donc la suivante : Citation:
Et n'hésitez pas aussi à me préciser aussi si cela vous semble impossible. ![]() Cela n'inspire personne ? Notez que si vous savez faire ce genre de chose à partir des fonctions Excel, je suis preneur aussi. Je me débrouillerai ensuite avec l'enregistreur de Macro. ![]() Une idée ? Quelqu'un ? |
|||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je ne crois pas qu'on puisse faire du SQL directement dans une feuille. Tu as essayé en mettant le chemin du fichier actif dans ta connexion (après l'avoir sauvé) ?
L'idée du fichier temporaire peut être une solution bien sûr. Mais je pense que tu peux faire ça directement dans Excel si les requêtes que tu voulais faire n'étaient pas très compliquées, soit en formules, soit en macro. Tu as des exemples de ce que tu voulais faire ? |
|
|
00
|
|
|
#3 | ||||
|
Futur Membre du Club
![]() Inscription : mars 2004 Messages : 50 ![]() |
Une petite requête sur mes données en exemple ?
Code :
Code :
SELECT V_min FROM MaTable GROUP BY V_min HAVING SUM(V_max) > 8 Actuellement, si je dois récupérer des données dans une partie d'une feuille, j'utilise une collection d'objets perso, indéxé par une clé : Code :
Mais adios les requêtes complexes. Non, je voulais plutôt profiter du fait qu'on trouve des tables supplémentaires dans un fichier Excel (une fois qu'il est ouvert je crois), par exemple si on définit une zone d'impression (je crois). Mais j'ai pas eu le temps de tester cette piste. Donc si quelqu'un a déjà testé, j'suis preneur. |
||||
|
|
00
|
|
|
#4 | ||
|
Membre chevronné
![]() Inscription : octobre 2006 Messages : 541 ![]() |
Bonjour,
excusez l'incruste Tu peux utiliser une autre méthode que "matable" avec le nom d'onglet et la plage à copier par exemple Code :
__________________
Michel_M |
||
|
|
10
|
|
|
#5 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je ne savais pas qu'on pouvait faire ça. Franchement, ça m'aurait sauvé la mise plus d'une fois. Merci Michel_M !
|
|
|
00
|
|
|
#6 | ||||
|
Futur Membre du Club
![]() Inscription : mars 2004 Messages : 50 ![]() |
Citation:
Que dire de plus, si ce n'est "Merci" !! ![]() Citation:
Ben tu vois, sur le coup, t'es tout excusé !! ![]() Merci encore. |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com