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

  • Initiateur de la discussion Initiateur de la discussion antiphot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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å
 
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.
 
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.
 
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å
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Pb avec Windows
Réponses
47
Affichages
3 K
Réponses
3
Affichages
1 K
Retour