Excel : rechercher des donnees sur un autre fichier excel [Résolu]

Signaler
Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005
-
Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005
-
Bonjour, :)

Je travaille actuellement sur un petit programme qui recupere des donnees d'un fichier excel "X" pour les synthetiser sur mon fichier excel "Y" ...

1/ le probleme est que ce fichier n'a pas un nom fixe d'une part, comment peut on faire apparaitre l'explorateur de fichier (equivalent JFileChooser) permettaznt d'acceder et de choisir celui ci ?

2/ ensuite, une fois ce fichier ouvert, je cherche a prendre les donnes sur les feuilles du fichier "X" a partir d'un programme de mon fichier "Y" ... un simple Range ne suffit pas, une activation de la fenetre et du workbook non plus apparemment :sad) ... si vous pouviez m'aider ... ca m'aiderait bcp !!!

Merci d'avance pour vos reponses :big)

8 réponses

Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005

Merci encore pour les solutions ... j'ai pris le temps de bosser dessus ce week end ... et il s'avere que les questions n'avaient pas vraiment besoin d'etre posée sio je reflechissais un peu ...

Merci arsena pour tes propositions, elle m'ont bien aidé

1/ J'ai finalement opté pour la xDialogOpen (cf. second post du sujet). Pour commencer l'import, on clique sur le bouton "importer" qui demande a aller chercher le fichier ... puis je le traite dans la foulée ... :)

2/ Pour la cellules, j'avais raison dès le debut dans ce que je faisais mais les fichiers tests étaient erronés, ce qui faisaient échoué la méthode Range ... puis, de toute facon je ne traitais que les cellules ... Cells(i,j) suffisait après activation de la page voulue... :)

Voila tout pour la soluce ... :big)

Merci encore et bonne prog à tous !

Bizbizu.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
190
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
27 septembre 2005

Pour repondre a ta 1er Question

'Uovre la boite de dialogue "Ouvrir" pour selectionner ton fichier
result = Application.Dialogs(xlDialogOpen).Show



Bonne prog et A+
MD
Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005

merci ... premeire question resolue ...

reste plus que la seconde .. j'ai retenté, et a chaque fois la meme erreur quant à un echec dans la methode "Range" sur l'objet _Global ... c malheureux :sad)
Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005

hum ... je reivens sur la premiere question ... malheureusement ... l'idee etait vraiment tres bonne, mais le probleme est qu'une fois le fichier selectionné, il ouvre le fichier sur excel ... ce dont je ne veux pas, je veux juste récupérer le chemin d'acces a ce fichier ... l'ouverture se fera de maniere discrete, une fois le programme principal en cours d'execution ... la premiere question reivent donc a l'ordre du jour ... j'y arriverai jamaiiiiiiiiiiiis :sad)
Messages postés
190
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
27 septembre 2005

Salut Bizbizu

Une solution au probleme 1
'Ajoute un controle ListBox a ta feuille

'Macro a placer dans VB Project "Feuil1 (Feuil1)"


Private Sub ListBox1_Click()
'Click sur un nom de fichier provoque l'affichage
'de ce nom dans la cellule "A1"
Range("A1") = Sheets("Feuil1").ListBox1.Value
End Sub



'Macros a placer dans un module (Module1)


Sub ChercheFichier()
' Définit le chemin d'accès.
MyPath = "C:\Mes documents\TonDossierOuSontLesFichiers"
' Extrait la première entrée.
MesNomFichiers = Dir(MyPath, vbDirectory)
Do While MesNomFichiers <> ""     ' Commence la boucle.
        If (GetAttr(MyPath & myname) And vbDirectory) = vbdir Then
        ' Affiche le fichier dans la liste
        Sheets("Feuil1").ListBox1.AddItem MesNomFichiers
        End If
    MesNomFichiers = Dir    ' Extrait l'entrée suivante.
Loop
End Sub

Sub effaceListBox()
'Efface la liste
Sheets("Feuil1").ListBox1.Clear
End Sub



Si tu a un probleme Mail moi
A+
MD
Messages postés
190
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
27 septembre 2005

Re

J'ai onblié :
Tu doit lancer la macro "ChercheFichier" pour remplir la liste

MD
Messages postés
190
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
27 septembre 2005

Remplace "myname" de la ligne
If (GetAttr(MyPath ....

par "MesNomFichiers"
MD
Messages postés
13
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
26 mai 2005

merci bcp ... ca permet deja un petit choix dans les noms de fichiers ... même si ca force à placer le fichier dans le mm dossier ... à moins que je ne pêrmettent le choix du dossier avec un tit explorateur (g vu ca dans les sources dispos) ... en tout cas, merci pour tout ...

Reste plus que la seconde question ... qui est en fait la plus importante car pour la premiere, j'avais opté par un chemin fiwxe en attendant ... pour cette seconde, je ne peux finir le prog si je ne recupere pas ces données ... serait ce une question de droits ?!? je sais que l'on ne peux acceder qu'au donnees présentes sur la feuille quand on prog sur une feuille alors que l'acces est à toutes les feuilles quand on prog sur un module ... à voir, en tout cas, pour ceux qui ont une reponse, je repete le probleme :

"ensuite, une fois ce fichier ouvert, je cherche a prendre les donnes sur les feuilles du fichier "X" a partir d'un programme de mon fichier "Y" ... un simple Range ne suffit pas, une activation de la fenetre et du workbook non plus apparemment ... si vous pouviez m'aider ... ca m'aiderait bcp !!!"