manipulation fichiers fermés

Pierrot75

XLDnaute Nouveau
bonsoir,

je travaille sur un projet qui consiste à créer une base de données à partir de plusieurs fichiers excel, de traiter les données puis de créer de nouveaux fichiers...
j'arrive à faire tout ça avec des fenetres de sélection de répertoire, des fichiers constitués d'onglets avec des noms quasiment identiques (préfixes)...
Bref, ça fonctionne très bien mais c'est long et le temps c'est de l'argent surtout quand la base est constituée à partir d'une centaine de fichier pour en constituer une trentaine au final.

est-ce que certains d'entre vous connaissent une méthode pour la manipulation de fichiers FERMES (import d'onglet, export d'onglet, modification et enregistrement fichier source...)...
j'ai vu des choses ici mais ça me parait un peu compliqué...

Merci d'avance
 

BrunoM45

XLDnaute Barbatruc
Re : manipulation fichiers fermés

Bonsoir Pierrot75

Très bon lien et c'est tout à fait ce qu'il te faut, je pense ;)
 

tatiak

XLDnaute Barbatruc
Re : manipulation fichiers fermés

Bonjour les amis,

En effet, vos liens sont des bonnes sources, mais je pense que Pierrot75 souhaitait un "décodage" de tout ça

En fait c'est moins complexe qu'il n'y parait. Ci joint un exemple simple de mise en œuvre des liaisons avec ADODB :
* un fichier de données avec 2 onglets
* un fichier de récupération des données

Pour expliquer la sub test() :
* le nom du fichier de données est placé dans la variable NDF
* la fonction Get_Data va lire les données successivement dans les onglets 1 et 2 du fichier de données
* puis on recopie simplement sur la feuille en cours le résultat de la recherche.

Pour expliquer la function Get_Data(...) :
* c'est une simple requête SQL qui récupère ici 3 des champs de données (via la function Query)
A noter : en VBA on peut presque utiliser tout le vocabulaire du SQL (avec quelques limitations).
Personnellement j'utilise dans la plus grande majorité des cas des SELECT.
On peut aussi lier des tables (INNER JOIN, LEFT JOIN, ...), on peut utiliser les fonctions d'agrégation, ...
Bref c'est assez souple et ça reste puissant.
(Une bonne source : SQL SELECT)
J'ai copié dans le code des exemples de requêtes que j'ai utilisé dans diverses appli pour montrer diverses possibilités

Pour expliquer la Function Query(...) :
* c'est un "couteau suisse" que je me suis mis au point (fonctionne sous XL et sous Word avec des modif mineures)
* elle n'a pas besoin des références ActiveX Object
* elle accepte les SELECT et les UPDATE

En résumé, pour adapter cet exemple au besoin de Pierrot75, il "suffit" d'adapter la sub test et de construire des requêtes pour aller chercher les info adéquates.

Souhaitant avoir éclairci un peu les liaisons ADODB,
Bonne journée,
Pierre
 

Fichiers joints

Discussions similaires


Haut Bas