Recuperer des valeurs dans un fichier xls non ouvert

Résolu
HansGruber Messages postés 8 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 9 septembre 2008 - 31 oct. 2007 à 07:03
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 1 nov. 2007 à 23:00
Bonjour à tous

Une petite presentation rapide avant tout: Je m'appelle Olivier, je bosse dans une boite dans le domaine de la chimie; je ne suis pas devellopeur mais je bidouille un peu en vba.

Je viens juste de m'inscrire sur ce forum car j'ai un petit probleme sur une application que j'essaye de creer. Son role est de faire des bilans sur des analyses effectuées à l'aide d'un appareil (une cpg pour ceux qui connaissent).
J'ai parametré le logiciel de cet appareil pour qu'il cree des fichiers resultats xls; les données sont rangées de cette façon:
http://img140.imageshack.us/img140/534/sanstitre1sa1.gif

Comment puis je faire pour recuperer les valeurs de ce fichier à partir de mon application ? Un petit exemple: mon fichier est placé à c:/toto.xls et je voudrais recuperer les valeurs en b3 et c3. Il faudrait que ce fichier ne reste pas ouvert, car l'application vas devoir en ouvrir une 10aine un par un.

J'utilise
Je remercie sincerement toute personne qui pourra m'aider et je vous souhaite une agreable journée.

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 oct. 2007 à 07:23
tu peux très bien ouvrir temporairement ton fichier resultat et importer  les données dans ton fichier courant. Ensuite tu referme ton fichier, et hop ^^

je pense qu'il y a un pquet d'exemples sur le site

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_Frederic45 Messages postés 60 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 30 mars 2010
31 oct. 2007 à 09:51
Bonjour à tous
Bonjour HansGruber, Renfield

Si je comprend bien, tu veux récupérer les cellules B3 et C3 de la feuil1 des fichiers "resultatsxxx.xls" dans un fichier toto.xls:

Dans le fichier toto.xls, dans la cellule a1 (exemple) tu ecris :
='[resultatsxxx.xls]Feuil1'!$B$3

le résultat se mettra automatiquement sans ouvrir le fichier "resultatsxxx.xls"

J'espère avoir bien compris ta demande

Frédéric
3
HansGruber Messages postés 8 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 9 septembre 2008
1 nov. 2007 à 04:34
Merci pour vos reponses, et desolé si je n'ai pas ete plus explicite; je vais essayer de detailler un peu plus mon projet

Donc je lance un classeur excel nommé "bilan.xls". Sur ce classeur j'ai dessiné le synoptique d'une installation, et sur ce synoptique des boutons sont placés à differents points de l'installation.
Chaque fois que je clique sur un bouton je vais lancer cette procedure:

' choix du fichier
chemin = Application.GetOpenFilename("Fichiers Excel(*.xls), *.xls")
If chemin <> FAUX Then MsgBox "Ouverture de " & chemin

afin d'aller rechercher le petit fichier correspondant à l'analyse qui correspond au point en question sur le synoptique.
Une fois que le fichier est selectionné je voudrais donc extraire les valeurs placées dans les colonnes B,C et D (name, quantity et time) à partir de la ligne 3 (1eres valeurs) jusqu'à la ligne vide, ce qui signifie que j'ai bien enregistré chaques composés.
Une fois que ces valeurs sont recuperées le petit fichier ne doit pas rester ouvert.
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
1 nov. 2007 à 23:00
Tu pourrais, je pense, utiliser des "objets" Excel pour ouvrir de façon transparente tes fichiers et copier ce que tu as besoin où tu veux pour finalement les fermer sans que personne ne se soit rendu compte de quoique ce soit.

Tu peux faire une recherche sur Excel.Application
C'est un sujet qui revient souvent, surtout pour les gens qui programment sous VB et veulent utiliser Excel, moins souvent pour ceux qui programment déjà sous Excel...

Une autre façon, je pense, serait d'utiliser ADO et tes petites fichiers comme des bases de données. Mais je pense que la disposition des données dans ces fichiers est assez importante pour le bon fonctionnement. Le test mériterait quand même d'être fait... si l'autre méthode n'est pas adéquate.

MPi²
0
Rejoignez-nous