Pb pr extraire données d'1 classeur fermé

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous


J'ai besoin d'un coup de main concernant la technique d'extraction de données à partir de classeurs fermés (et si possible sans référence à une librairie).

J'ai une macro qui récupère le chemin d'un sous-dossier et des différents fichiers qui s'y trouvent. Le chemin est ensuite copié dans la colonne A d'une feuille de mon application . Dans la colonne B apparaît le nom du fichier.
je souhaiterai qu'à chaque ouverture de l'application une macro aille chercher la valeur de tous les fichiers qui se trouvent dans mon sous-dossier 'commandes matériel 2006' cellule K7
(cette valeur étant au format: jjmmaa hhmmss) et la copie dans la colonne C de mon application.

Dans la feuil1 de mon application, j'appelle un usf avec 2 combobox. Dans le premier combobox, devrait apparaître les valeurs de la feuille 'listedonnées' colonne C et dans le combobox2 le nom du fichier correspondant (colonne B)

Lorsque l'utilisateur sélectionnera une valeur du combobox1 le nom du fichier correspondant devra apparaître dans la combobox2 et vice versa si il choisit un fichier dans le combobox2, la valeur correspondante devra apparaître dans le combobox1.

Voilà, j'ai essayé d'être le plus clair et plus préçis possible dans mes explications.

Je joins un fichier à ce post. Il contient un dossier 'Antiphot' dans lequel, il y a le fichier.xls exemple et un sous-dossier 'commandes matériel 2006' ou se trouvent 2 fichiers ou il faut extraire les valeurs de la cellule K7.
QQ soit l'endroit ou vous déziperez le dossier, la macro de recherche du chemin des fichiers devrait fonctionner

Merci par avance pour toute vos propositions
Amicalement
Antiphot [file name=Antiphot_20060611214128.zip size=51026]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Antiphot_20060611214128.zip[/file]
 

Pièces jointes

  • Antiphot_20060611214128.zip
    49.8 KB · Affichages: 93
M

Mytå

Guest
Salut Antiphot

Comment faire pour affecter à une variable la valeur contenue dans la cellule d'un autre classeur sans ouvrir celui-ci.

Si tu veux récupérer ce contenu, tape directement dans la cellule de destination
='D:\\MesDocuments\\Mondossier\\[Monclasseur.xls]Feuil1'!B12
sans te tromper dans la ponctuation !

Si tu veux par macro affecter ce contenu à une variable A
A = '='' & Chemin & '[' & NomFic & ']' & Onglet & ''!' & Range(Ref).address

Trouvé sur le Site Excelabo

Mytå
 

antiphot

XLDnaute Occasionnel
bonjour Mytå

En fait je pensais passer par les ADO et les techniques sur les classeurs fermés. J'ai regardé sur le site de Sigonneau et j'ai trouvé une macro qui permet d'extraire des données pour plusieurs classeurs.
Mais compte tenu de mon niveau en vba, je n'ai pas réussi à l'adapter pour mon appli.

J'ai regardé la solution que tu me propose, mais je ne vois pas trop comment l'adapter ds mon exemple.
 

antiphot

XLDnaute Occasionnel
bonjour Mytå

En fait je pensais passer par les ADO et les techniques sur les classeurs fermés. J'ai regardé sur le site de Sigonneau et j'ai trouvé une macro qui permet d'extraire des données pour plusieurs classeurs.
Mais compte tenu de mon niveau en vba, je n'ai pas réussi à l'adapter pour mon appli.

J'ai regardé la solution que tu me propose, mais je ne vois pas trop comment l'adapter ds mon exemple.
 
M

Mytå

Guest
Salut Antiphot et le Forum

Modifie cette partie dans ta macro pour récupérer la valeur sans ouvrir le classeur

Code:
...
For Each File In Files
   i = i + 1
      With Sheets('listedossiers')
      .Cells(i, 1).Value = File.Path
      .Cells(i, 2).Value = File.Name
      .Cells(i, 2).Replace What:='.xls', Replacement:='', _
      LookAt:=xlPart, SearchOrder:=xlByRows
      .Cells(i, 3) = '='' & NomDossier & '\\[' & File.Name & ']' & .Cells(i, 2) & ''!' & Range('K7').Address
      .Cells(i, 3).NumberFormat = 'ddmmyyyy hhmmss'
      .Cells(i, 3) = .Cells(i, 3).Value
      End With
Next
...

Mytå
 

antiphot

XLDnaute Occasionnel
Bonjour Mytå et le forum

Désolé de te répondre si tard mais je n'ai pas eu l'occasion de me connecter avt maintenant.
C'est parfait. Je te remercie pour ton aide.

Et par la même occasion j'en profite par ton intermédiaire de dire un petit bonjour aux canadiens avec qui j'ai eu d'excellents rapports au niveau professionnel et amical

Antiphot
 

Discussions similaires

Réponses
2
Affichages
312

Statistiques des forums

Discussions
312 391
Messages
2 087 984
Membres
103 690
dernier inscrit
LeDuc