Lire dans un fichier sans l'ouvrir

davidm

XLDnaute Nouveau
Bonjour,

Peut on recupérer des données d'un fichier sans l'ouvrir au préalable ?

Merci de votre aide

Davidm
 
G

Guest

Guest
Re : Lire dans un fichier sans l'ouvrir

David,

ton affaire me paraît compliquée à résoudre à distance aussi je t'invite a aller consulter la page: Ce lien n'existe plus
qui t'apportera quelques éléments de réflexion et tu pourras voir quelles sont les contraintes ADO en matière d'importation de données Excel.

Vois comment tu peux adapter tes fichiers à ces contraintes, fait des tests et si tu as un problème concret et précis, reviens ici.

A bientôt
 

davidm

XLDnaute Nouveau
Re : Lire dans un fichier sans l'ouvrir

Bonjour Hasco et merci du lien (très utile et interessant pour comprendre le code),

J’ai enfin réussi à faire fonctionner le code mais il y a encore quelque chose qui me bloque. En effet, dans le code on spécifie le nom de l’onglet qui va nous servir de base de données, dans l’exemple il s’agit de « esssai ».

Pour rappel, le fichier synthèse doit récupérer des données d’un nombre important de fichier du même type que le fichieradupliquer (dans l’exemple).

Le problème est donc que le nom d’onglet de la base de données change en fonction des fichiers, par exemple :

  • Dans le fichieradupliquer : le nom de l’onglet qui comprend les données est « esssai »
  • Dans le fichieradupliquer2 : le nom de l’onglet qui comprend les données est « 100000 »
  • Dans le fichieradupliquer3 : le nom de l’onglet qui comprend les données est « 999999 »

Mais (comme une bonne nouvelle n’arrive pas seule..), dans ces fichiers il n’y a pas qu’un seul onglet mais 2 (un nom qui change systématiquement à chaque fichier (celui que je veux récupérer) et un autre qui est figé : « LISTE »).

J’aimerais donc être capable de récupérer le nom qui varie. Je pensais mettre un code du style, si ce n’est pas « LISTE » alors on récupère le nom mais vu qu’on n’ouvre pas les fichiers je ne sais pas comment faire.

Pour information :
On peut spécifier une plage de données en disant que les titres commencent à telle ou telle ligne en utilisant le code suivant (Dans mon cas la plage s’étend de A3:C100):

Code:
SQL = "SELECT LaDate ,Colonne1, Colonne3, From [" & NomOnglet & "$A3:C100]"

Merci d'avance

Davidm
 
G

Guest

Guest
Re : Lire dans un fichier sans l'ouvrir

bonjour David,
Le forum bonjour,

Tu trouveras dans le zip ci-joint un module (mdl_ADO) à insérer dans ton fichier (Dans vbe Fichier/Importer un fichier).

Il ne fonctionnera sûrment pas tel quel chez toi mais j'y ai mis suffisament de commentaire pour que tu puisses l'adapter à tes besoins. C'est un exemple de technique possible, à toi de l'adapter.

Ce module parcourt tous les fichiers.xls du répertoire dans lequel le classeur se trouve (ça peut être changé).

Il examine à l'aide d'ADOX (voir la réf ADOX en commentaire en tête de module) les colonnes de toutes les feuilles de chaque classeur à la recherche de celles qui correspondent à l'instruction SQL.

Pour chaque feuille contenant les bonnes colonnes il lance l'instruction SQL et retourne les lignes trouvées. Si le nombre de lignes retournées dépasse la capacité d'une feuille, il en rajoute une.

Pendant toute ces opérations il ecrit les erreurs rencontrées dans un fichiers log.

A bientôt et dis nous comment tu t'en sort.
 

micdel

XLDnaute Nouveau
Re : Lire dans un fichier sans l'ouvrir

Bonjour
je viens de lire vos échanges ci-dessus ... Mon problème est semble du même type
Je réalise des statistiques annuelles. Dans un répertoire j'ai 12 fichiers (2008_01.xls à 2008_12.xls) qui contiennent les données mensuelles + 1 fichier de synthèse annuelle dans les cellules réception contiennent une formule (='E:\Asso\Stats\2008\[2008_01.xls]
Les même stats se répètent chaque année et je dois à chaque année réécrire les formules ... Comment éviter cette lourde tâche en automatisant la recherche en saisissant dans une cellule l'année de synthèse (ex: 2008) ... d'avance merci de votre aide Michel
 
G

Guest

Guest
Re : Lire dans un fichier sans l'ouvrir

Bonjour micdel,

Je te suggère d'ouvrir un nouveau fil. en effet ton problème ne semble pas identique à celui-discuté ici, dans lequel il n'y as aucune formule à recréer.

A+
 

MuscatMimi

XLDnaute Accro
Re : Lire dans un fichier sans l'ouvrir

bonjour a tous

Voila un exemple ci-joint si ça peut te convenir
 

Pièces jointes

  • Nouveau Dossier compressé.zip
    58.2 KB · Affichages: 47
  • Nouveau Dossier compressé.zip
    58.2 KB · Affichages: 38
  • Nouveau Dossier compressé.zip
    58.2 KB · Affichages: 41

Discussions similaires

Réponses
5
Affichages
362

Statistiques des forums

Discussions
312 697
Messages
2 091 074
Membres
104 752
dernier inscrit
Black_Bovary_