Méthodes find dans classeurs fermés. Connexion OLE DB ?

Bonjour,

Je cherche à utiliser une méthode find (ou équivalent) dans un lot de classeurs fermés tous structurés de manière identique pour faire un récap dans mon fichier ouvert :

J’ai des fiches de temps pour x employés, qui sont toutes faites de la même manière : dans la colonne x de la feuille y, il y a les références des projets en cours, et dans la colonne X+1 le nombre de jours que chaque employé y a consacré. Par contre je ne connais pas le numéro de ligne où se trouve la référence qui m’intéresse (selon l’ordre de saisie par l’employé).

Je souhaiterai pouvoir parcourir (sans les ouvrir) les x classeurs et lister dans mon classeur ouvert, pour le projet Z : employé A a passé 3 jours, employé B 5 jours etc.

J’ai déjà réussi à récupérer des infos dans un classeur fermé grâce à une connexion OLE DB, mais j’allais chercher dans une cellule connue. De même, j’ai déjà utilisé des méthodes find, mais j’ouvrais mes classeurs de recherche, or ici j’aimerai réduire le temps de la macro, donc je pense que c’est mieux de ne pas ouvrir les fichiers… Je souhaiterai donc une recherche et les classeurs fermés. Est-ce possible ? Comment ? Je n’ai pas mis de fichier d’exemple car il faudrait plusieurs fichiers (des fichiers sources et un fichier destination), et que je ne suis pas sur que ça aide beaucoup, mais je peux essayer si ça vous semble nécessaire.

Merci d’avance,

Neimad

Bonsoir,

Ci-joint un exemple à tester et à adapter, en VBA :

  • tous les fichiers employés dans un répertoire, avec même structure
  • import (choix du répertoire)
  • ouverture des fichiers, et alimentation des données
  • TCD récapitulatif

Architecture classique, rapide (selon nombre de fichiers bien sûr).

La mise en place de liens entre les fichiers est sans doute plus lente que ce type d'architecture.

En PJ : le fichier principal et 3 fichiers à importer.

Les fichiers réels en exemple auraient permis de travailler directement sur la version cible

A toi de jouer maintenant

Bonne soirée

Bouben

52recap.xlsm (26.77 Ko)
36employes.zip (20.47 Ko)

Bonjour,

absolument en vba ?

Parce que Recherchev() fonctionne sur classeur fermé.

eric

Bonjour,

Tout d'abord, merci à tous les 2 de vous pencher sur mon problème.

Eriiic

Le problème de rechercheV c'est que je cherche dans un nombre inconnu de fichiers qui constituent mon répertoire (le nombre est plus ou moins connu mais peut varier légèrement, ainsi que les noms de fichiers...). Donc s'il y a moyen de faire un rechercheV sur plusieurs classeurs fermés alors oui je suis preneur, sinon ça ne pourra pas fonctionner.

Bouben

Merci pour ta solution : elle n'est pas exactement ce que j'imaginais à la base : en effet, je pensait chercher un projet spécifiquement sur toute les feuilles de temps. Néanmoins, l'idée de rapatrier l'intégralité des projets et de faire ensuite la "sélection" de ce qui m'intéresse fonctionne très bien. Je vais opter pour cette méthode. Merci encore.

Rechercher des sujets similaires à "methodes find classeurs fermes connexion ole"