Créer une liste a partir de l'Explorateur ? [Résolu/Fermé]

Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
- - Dernière réponse :  Donpi - 17 févr. 2009 à 18:41
Bonjour,

J'aimerais pouvoir créer une liste directement depuis l'explorateur Windows.

J'ai deja trouvé pour créer automatiquement un fichier .txt, qui me liste les noms de fichiers présents dans un dossier précis.

Mais je souhaiterais aller plus loin que ça, en y intégrant également d'autres colonnes.

Tout ceci pour le ramener sur Excel, et pouvoir tenir à jour mes tableurs.



J'ai mon Explorateur Windows avec pour colonnes :

Nom - Projet - Type - Taille - Date de Modif - Numéro du Projet - Ville - Suivi de Chantier - Dessinateur - Maitre d'ouvrage - etc ...

Il y en a encore d'autres, je vais pas tous les mettre :p

Donc voila, j'ai une 20e de colonnes différentes sur mon explorateur, toute indiquant des informations sur le fichier, et j'ai besoin de créer un fichier Excel, contenant toutes ces informations dans un tableur.

Mais je me vois mal recopier chaque ligne et chaque colonne une par une, J'ai plus de 3000 projets, vous imaginez la corvée !!! ;(

J'ai deja trouvé plusieurs petits prog s'approchant de cela, mais aucuns me permets de choisir les colonnes que je desires, ou l'ensembles des colonnes...

Donc voila un challenge a relevé, non ???? :p
Afficher la suite 

20 réponses

Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
bonjour,
déjà ça, si ça peu t'aider..
Sub AfficheInfoAccesFichier()
Dim specfichier As String
specfichier = ActiveWorkbook.Name
    Dim fs, D, F, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set F = fs.GetFile(specfichier)
    s = UCase(F.Path) & vbCrLf
    s = s & "Créé le : " & F.DateCreated & vbCrLf
    s = s & "Dernier accès le : " & F.DateLastAccessed & vbCrLf
    s = s & "Dernière modification le : " & F.DateLastModified
    MsgBox s, 0, "Infos d'accès au fichier"
End Sub

Tout les renseignement ne sont pas employés, il faudra un peu chercher pour les autres.
Tu dit...
A+
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Oui... Faudrait l'autre aussi,
Sub Recupfile()
Dim fs, F, f1, s, sf
Dim Ext As String, Chemin As String
Dim i As Long, Fin As Long
    Ext = "xls"
    Chemin = "C:\"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set F = fs.GetFolder(Chemin)
    Set sf = F.Files
    For Each f1 In sf
        If Right(f1.Name, 3) = Ext Then
            'Adapté les adresses cellules.
            Cells(3, i) = f1.Name
        End If
        i = i + 1
    Next
End Sub

Avec ces deux macro tu peu avoir tout les fichier d'un répertoir et l'autre toutes les info, à toi d'adapter, si problème tu dit.
A+
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Merci beaucoup pour ces infos.

Mais Euh .... Je vais peut etre passer pour un con, mais ... Je m'en sert comment ce tout ca ?

lol

Je créer un fichier .txt pour en faire un .bat, ou je passe par le dos ?
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Ah, tu connais pas VBA de Excel ?
c'est à adapter dans l'environement de VBA, dans un module
La 2ém fonction lit tout les fichiers dans un répertoir donner.
La première sort les information d'un fichier et met les différentes données dans un messageBox mais possible de la coller dans des cellules d'excel. C'est ce que tu voulais je crois ?

Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Ca m'a tout l'air d'etre ce que je cherchais ^^

Donc, j'ai ouvert Excel, et créer 2 modules dans VBA (logiciel que je n'est jamais utilisé auparavent ;) )

J'ai collé tel que tes 2 posts plus haut dans 2 modules differents, leur laissant les noms de "module 1" et "module 2"

Ensuite, je pense que je dois avoir a les adapter pour qu'il recherche mes informations dans un dossier specifique de mon choix, ainsi que de préciser les differentes colonnes que je veux voir importer sous Excel ?

Si tu pouvais m'expliquer un peu plus en details ton principe de programmation, que je puisse ensuite réussir a l'adapter, quelque soit le chemin des dossiers, et les colonnes qui m'intéressent.

Et aussi comment on s'en sert ensuite sous Excel ?

Merci d'avance
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Tu veux choisir tes chemins et fichiers avec un explorateur ? Si oui faudra encore ajouter un module, mais tu ne doit pas ouvrir un nouveau module à chaque fois, tu peu mettre les fonctions l'une en dessous de l'autre.
Je recherche cette fonction dans mes archive mais il y a un ptit temps et je sais plus où c'est.
Un peu de patience et je reviens
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Merci beaucoup.

Je cherche pas spécialement a choisir mes fichiers avec un explorateur (si ca peut le faire tant mieux, ce sera plus simple par la suite ^^) Mais au moins savoir comment paramétrer ce que tu m'a déjà donner pour indiqué un chemin précis sur mon ordi, et voir même sur un lecteur Réseaux, et préciser les colonnes que je souhaite importer.
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Non, les colonnes à importer ne sont pas sélectionnable sur un explorateur ça doit être fait dans la macro N°1

Donne un peu une idée des données que tu veux importer parce que 20 colonnes !! je ne vois pas ce que ça peu être.
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Bon, une idée de ce que les fonction peuvent faire
Ouvre un nouveau classeur. ajoute un module au quel tu colle le code ci-dessous, ensuite tu met le curseur où je l'ai marquer et tu tape F5
Option Explicit
Dim Lig As Long
Function SelectionRepertoir()
Dim nomfich As String, i As Integer
    nomfich = Application.GetOpenFilename(FileFilter:="Tout Fichier (*.*),*.*" _
            , Title:="Sélectionnez le répertoir")
    For i = Len(nomfich) To 1 Step -1
        If Mid(nomfich, i, 1) = "\" Then Exit For
    Next i
    SelectionRepertoir = Left(nomfich, i)
End Function


Sub Recupfile()
Dim fs, F, f1, s, sf
Dim Ext As String, Chemin As String
Dim i As Long, Fin As Long
   ' Mettre le curseur ICI
   'et taper F5
    Chemin = SelectionRepertoir()
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set F = fs.GetFolder(Chemin)
    Set sf = F.Files
    For Each f1 In sf
        AfficheInfoAccesFichier (f1)
        'If Right(f1.Name, 3) = Ext Then
        '    'Adapté les adresses cellules.
        '    Cells(3, i) = f1.Name
        'End If
        i = i + 1
    Next
End Sub
Sub AfficheInfoAccesFichier(specfichier)
'Dim specfichier As String
'specfichier = ActiveWorkbook.Name
    Sheets("feuil1").Select
    Lig = Range("A65536").End(xlUp).Row + 1
    Dim fs, D, F, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set F = fs.GetFile(specfichier)
    Cells(Lig, 1) = "Fichier " & F
    Cells(Lig, 2) = UCase(F.Path)
    Cells(Lig, 3) = "Créé le : " & F.DateCreated
    Cells(Lig, 4) = "Dernier accès le : " & F.DateLastAccessed
    Cells(Lig, 5) = "Dernière modification le : " & F.DateLastModified
    'MsgBox s, 0, "Infos d'accès au fichier"
End Sub



tu dit...
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
En fait, je suis dessinateur de Maison en bois, et j'utilise un logiciel Allemand "Sema".

Chaque projet de construction a des propriétés qui lui sont propres (Clients, Archi, Lieux, Type, Couverture, ...)
et bien d'autres, que je peux faire afficher dans l'explorateur windows en allant les selectionné (click droit sur les titres des colonnes dans l'explorer). J'ai donc en vue toutes les infos principales du chantiers sans meme avoir a l'ouvrir.

Et de ca, je voudrais créer un listing complet, du stockage sur mon PC, ainsi que sur celui de mes collegues, et créer une base de données completes, et organisé, pour retrouver nos projets.

Savoir quel projets, ses proprietés, qui l'a etudié, sur quel poste il a ete dessiné, dans quelle version du logiciel de dessin, quel numéros de projets il porte ...

Ainsi, au lieu de cherché pendant 1h ou se trouve le projet, en un clin d'oeil sur le listing, on sait presque tout de lui, et ou le retrouver.

Quand on me parle d'un projet selon le lieu, ou le nom, ou la forme de la maison, je me souviens pas forcement de tous les details d'une construction de l'année dernieres, avec un listing complet, je pourrais retrouver beaucoup facilement selon des criteres de trie.


Je sais pas si c'est assez clair :p
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Whaou, c'est exactement ca ! Il ne manque plus qu'a faire en sorte d'obtenir toutes les colonnes que j'ai besoin ^^
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Je reprend ton topic
J'ai mon Explorateur Windows avec pour colonnes :

Nom - Projet - Type - Taille - Date de Modif - Numéro du Projet - Ville - Suivi de Chantier - Dessinateur - Maitre d'ouvrage - etc ...

Je vois pas ce que l'explorateur Windows vient faire là dedans. et ton logiciel je connaîs pas.
ça m'étonnais aussi que tu ais toutes ces colonnes dans L'explorateur Windows
??
Ont n'est pas sur les mêmes rails.
EDIT:
Oublie ce poste. je l'ai fait en même temps que ton dernier.
Mais tu n'a certainement pas toute ces données sur l'explorateur ?
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Tu ouvre l'explorateur et tu fait une copie image ensuite tu met l'image sur http://cjoint.com/
et tu colle le lien dans un poste suivant.
que je puisse me rendre compte exactement.
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Donc voici 2 captures d'ecran pour toutes les colonnes de mon explorateur windows (ca ne tenait pas sur une largeur d'ecran), j'ai caché quelques infos pour la confidentialité de mon travail, mais tu peux voir les titres de chaque colonnes.

http://cjoint.com/?jdlvo5O0R1
http://cjoint.com/?jdlvWkDs0b


Toutes ces données sont extraites de mes projets de construction dans mon logiciel de dessin, automatiquement avec windows, j'ai juste a lui demandé de me les afficher.

Et j'aimerais retrouver la meme chose sous excel pour gerer mes archives.
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000
0
Merci
Re,
C'est bien ce que je pensais ce n'est pas un explorateur windows ordinnaire mais un logiciel similaire et qui à été fabriqué avec les API de windows. Ou alors... je connais pas cette façon.
Mais pour qu'il puisse t'afficher toutes ces donnée elles doivent être DANS LE FICHIER.
Tu peu me passer un de tes fichiers ? si oui je te met mon Email par MP
J'ai bien une idée de comment les extraires (sans garantie)
tu dit.
A+
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Salut,

Je veux bien t'envoyer un fichier, je sais pas si, sans posseder le logiciel qui va avec, tu pourra avoir acces aux proprietes, tu me dira ...

Donne moi ton mail, et je t'envoie ca.

Merci
lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1000 -
Bonjour, je pense pouvoir extraire les données de ton fichier sans avoir l'appli qui va avec, j'ai ma petite idée là dessus, mais bien entendu c'est pas garanti.
Si tu veux pas que ton fichier se balade sur le net tu peu me l'envoyer dans un MP en procédant comme si tu était dans un poste du forum.
Je te rappel l'adresse pour l'envoyer http://cjoint.com/ et c'est le lien qu'il te donne
que tu me communique par MP.
A+
Messages postés
17853
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
4473
0
Merci
hello
SysExporter permet de capturer en texte le contenu des fenêtres, genre Explorateur, Recherche, etc
http://www.nirsoft.net/utils/sysexp.html
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Arff

Je viens d'essayer de t'envoyer mon fichier par le cjoint... Mais il est trop volumineux et donc ne passe pas :(

Envoie moi ton mail par MP, ca sera plus pratique (si ca te derange pas bien sur)

Merci d'avance
Messages postés
221
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
30 septembre 2016
89
0
Merci
Comme je le pensais, mon type de dossier est trop securisé pour ne pouvoir y acceder sans un programme specifique.

Sinon la solution donné par Dubcek fonctionne tres bien, encore merci a toi.

Et Merci a Lermitte222 d'avoir consacré de son temps egalement.

Franck
0
Merci
Merci pour votre aide, j'utilise votre macro..trés pratique pour la gestion des plans.