Arborescence d'un dossier

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

Bonsoir à tous,

Voilà:
j'ai donc tout simplifié en un seul module que j'ai renommé 'ModuleRoland'
avec les macros nécessaires à la routine que j'ai nommée 'LoadArborescence_Marcaplus'

cette macro sera donc exécutée via les touches Alt+F8
(on peut bien entendu modifier ce nom puisqu'elle sera exécutée par Alt+F8 (à condition qu'elle reste Public !)

voir dans le module les constantes adaptables !
Code:
'                                                .
'ICI LES PARAMETRES PERSO EN CONSTANTE ADAPTABLES.
'                                                .
Public Const InclusSousRep As Variant = vbYes 'vbYes sinon mettre vbNo
Public Const SizePremiereLigne = 18 'taille caractères 1'ligne
Public Const TitrePremiereLigne$ = "Arborescence Réseau" 'titre dans la 1'ligne
Public Const RepertoireParDefaut$ = "C:\Documents\Boucherie" 'le répertoire par defaut modifiable
'ne pas modifier ci-dessous
Dim RepDeBaseObject As Object, SourceFolder As Object, SubFolder As Object, FileItem As Object


Public Sub LoadArbores_Marcaplus()
...
...
vérifier et me dire si tout est ok et comme souhaité !?
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Bonsoir Roland
Comme je te l'ai exprimé en MP, je renouvèle mes félicitations pour le travail complexe réalisé qui correspond en tout point à l'objectif initial.
J'ai déjà abusé de ton temps, mais j'ai quelques idées pour apporter d'autres fonctions.
Mais bien sûr, je comprendrai si tu t'arrêtais là !
Voilà :
1- Après test sur le serveur, le temps de génération de la liste des dossiers est très raisonnable, de l'ordre de quelques secondes.
Du coup, je me demandais s'il serait possible, avec la même routine que celle du fichier ListRepFichArboresMarcaplus.xls‎, d'ajouter les fichiers en bout de chaque ligne du dernier sous dossier :
Dossier père
Dossier fille 1 Fichier A

Fichier B

Fichier C
Ta macro est déjà écrite dans le module LoadFichiers, il s'agirait de la coller dans le module 'loadArborescence_Marcaplus'.


2- Un champ de recherche (ou plutôt un filtre) par mot-clé serait des plus utiles.
J'ai essayé de chercher une macro existante, mais rien de convaincant car ici la recherche doit être effectuée sur plusieurs colonnes.
Éventuellement, des boutons Précédent et Suivant seraient les bienvenus.
Enfin, si on pouvait récupérer avant le nom de fichier, une fois le filtre appliqué, les noms des dossiers et sous-dossiers parents du fichier, ça serait le rêve.
Mais est-ce faisable ?

De toute façon, merci et félicitations

Marcaplus
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

Bonsoir,

mon état de santé ne me permet malheureusement plus de trop m'engager !
j'ai fais un AIT (début d'AVC) et la mémoire en a pris un coup !
les données sont toujours dans le disque dur mais j'ai des difficultés à les retrouver !
ça me demande beaucoup plus d'efforts ! pour le coup j'apprécie et remercie Google pour les recherches !

maintenant concernant ton problème il me semble que c'est plutôt la routine 'LoadFichiers' qui convient !
en adaptant et avec les liens aussi sur les dossiers plus un filtre !

voir déjà exemple ci-joint et me dire quoi !?
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Cher Roland

Tout d'abord une fois de plus, un grand merci.
C'est impeccable, le but est atteint.
On peut en conclure que les neurones sont restés intacts, quel niveau !
De prim'abord, je n'avais pas vu la présentation des fichiers comme ça, mais au final ton idée est meilleure que la mienne.
C'est clair, et il est facile de rechercher un fichier en utilisant le champ de recherche du filtre.
Maintenant, je vais essayer de m'en sortir avec tout ça :
Voici mes intentions :
En Feuil1 je vais lancer ta première macro, celle avec les dossiers seuls, et ajouter un bouton pour ouvrir une boîte permettant d'effectuer une recherche sur toute la feuille.
En Feuil2 je vais lancer la macro avec les fichiers, trier par date descendante, et ajouter un bouton pour ouvrir le champ de filtre sur Nom.
Un dernier problème : le fichier ainsi généré pèse 9 Mo pour 10 000 fichiers :eek:

Le projet était compliqué au départ, mais quand je vois le résultat ...
Je te souhaite un excellent week-end, encore merci ...
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

bonjour,

je vais regarder pour réincorporer la routine ArborescenceSeule
dans ce même classeur !

à bientôt !
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re:

voir note avec modif vars :
(E:\Documents c'est mon dossier pour les essais)

Public Const RepertoireParDefaut$ = "E:\Documents" 'REPERTOIRE à adapter(avec ou sans \ au bout il sera ajouté)
Public Const InclusSousRep As Variant = vbYes 'vbYes ou vbNo
Public Const NomFeuilArborescence$ = "Arborescence" 'nom feuil.arbo
Public Const NomFeuilFichiers$ = "Fichiers" 'nom feuil.fich
Public Const SizePremiereLigne% = 14 'pour prem.ligne
Public Const TitrePremLigArborescence$ = "Arborescence Réseau"
Public Const TitrePremLigFichier$ = "Fichiers Réseau"


remarques:
peut importe la feuille qui est en cours au moment de faire Alt+F8,
la feuille sera sélectionnée automatiquement !

ensuite, je sais pas si tu as vu, mais il y a aussi des codes feuilles !

j'attend réponse si ok à ce niveau (en version 3!)
j'ai juste fait qq essais ... je vais encore vérifier !?

EDIT: j'ai eu bien fait, petite rectification !
RE EDIT: petite amélioration rajoutée ce matin !
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Cher Roland

Je viens de passer 1h à tout tester … tout ce qui a été fait fonctionne sans bug.
1- J’ai aussi désactivé le « ceci cache la barre » dans le module Fichiers : sans problème.
2- Curieusement, les macros s’exécutent un peu plus rapidement.
Le fichier ainsi généré (en supprimant les liens sur les fichiers, mais comme tu l’as fait, en autorisant le lien sur le dossier-père en colonne D) pèse exactement la moitié.
J’ai eu une idée pour alléger au maximum :
Ajouter un bouton « Lien » sur chaque ligne du module Fichiers, avec toujours le même code du type :
OnClick(button)=hypertext(TEXTE($D2)
Ce qui supprimerait dans le fichier la totalité des liens hypertextes, qui seraient créés sur demande.
Reste à savoir si c’est faisable en VBA …
3- Pour le filtre de recherche, serait-il possible d’ouvrir automatiquement le filtre comme ceci :
Exemple filtre déroulé.jpg
… dès l’ouverture dès l’accès à la feuille Fichiers ?

4- Dans l’onglet Arborescence, as-tu une idée pour effectuer simplement une recherche (par exemple un filtre) sur le nom des dossiers/sous-dossiers ?

Merci pour ta patience, je crois que nous nous sommes passionnés tous deux pour ce travail !
Bon dimanche sous le soleil !
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

juste une question !?
Est-ce bien la version 4 que je viens de mettre en ligne !?

sinon j'ai une idée qui pourrait tout simplifier concernant la feuille fichiers sans aucun lien !
un truc du genre, que je vais peaufiner pour les fichiers et chemins . . .
exemple:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Col = Target.Column: Lig = Target.Row
If Col = 4 Then '(D)chemin
ActiveSheet.Hyperlinks.Add Anchor:=Cells(Lig, Col), Address:=Target.Value
End If
End Sub

et pour supprimer tout lien créé et inutile il y a la routine quu supprime tout !
 
Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Oui, bien sûr, je suis parti de la version 4 (fichier ListRepFichArboresMarcaplus4.xls).
Ais-je dit quelque chose qui t'en fait douter ? Peut-être n'ais-je pas tout compris ?
J'ai gardé toutes les versions depuis le début !
J'ai vu ton code : en gros s'il fonctionne, ça divise le poids du fichier par 10 ou 20 ... sans supprimer de fonctions.
Excellent ! A plus ...
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

bonjour,

merci à toi kiki29 !
je prends et j'y regarde dès que possible !
 

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Test de la version 5 : aïe, cette fois ça bugge !
Lorsque je clique sur un fichier (ex: screenshot.png) le programme m'indique "Impossible d'ouvrir le fichier spécifié".
Il ne faut pas oublier que nous hébergerons ce fichier sur nos PC portables, et que les liens se trouvent sur le serveur à Bordeaux (pas de copie des fichiers en local)

La bonne nouvelle, c'est que le fichier ne pèse quasiment plus rien (moins de 1 Mo).


Merci Kiki de ta participation.
Je me rappelle avoir vu ce fichier lors de mes recherches, mais j'avais préféré la solution de Roland pour la propreté de la présentation des dossiers et sous-dossiers, et pour les liens hypertextes. Il n'en reste pas moins que c'était très bien aussi.
A plus
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

voir cette version 6 avec l'arborescence et filtre !?

concernant les liens on verra après, on peut remettre facilement
il faudra très certainement les créer au moment de la création
et en supprimer avant envoie .. à voir !

voir toujours cette présentation !?
 

Fichiers joints

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Merci Roland
Pas la peine de supprimer les liens créés à la fermeture du fichier : au mieux on ouvre 5 à 10 liens, ce qui n'alourdit pas le fichier.
J'ai toujours l'erreur suivante dans "Fichiers" :
Erreur ouverture fichier.JPG
Cette erreur se produit quel que soit le format de fichier (txt, jpg, xls, ...)
Le module « Dossiers » n’apporte rien à mon sens aux 2 modules existants (j’ai bien compris que tu l’as créé pour filtrer sur 1 colonne). N’oublions pas que ça doit rester simple : 2 modules (Arborescence et Fichiers) c’est tout ce qu’il faut. Dans le module Fichiers, il faut faire un triple-clic (soit sélection champ+2 clic pour le lien) pour ouvrir un fichier : simplifiable ?
Reste qu’avec ta méthode, tu as considérablement allégé le poids du fichier.
Le temps de génération du fichier (à la mise à jour quotidienne) n’a aucune importance (c’est un serveur Xeon au top qui va traiter cela), mais le poids du fichier est important, car les employés auront à télécharger ce fichier régulièrement pour être à jour.

EDIT : nos messages se sont croisés, plus de problème d'ouverture des fichiers. Du boulot de pro.
A plus tard
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

donc tu gardes quel version !
je regarde à cette erreur qu'il me semblait avoir corrigée !
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

erreur corrigée !
ça ne venait pas du fait de la création du lien par double clic, c'était une erreur de ma part !
conclusion, la version 5 et 6 fonctionnent avec double clic !

je te remet les versions concernées !

EDIT:
tu dis que tu n'as plus d'erreur !?
mais c'est normal avec la version 7 puisque les liens sont tous créés à la création
et dans cette version 7 j'ai mis en rem la fonction, ou il y l'erreur, qui est lors du double clic et ceci depuis les versions 5/6/7
peu importe tout est rectifié dans ces trois versions !

je rappel que la version 7 est idem version 6 mais avec liens remis à la création !
version 6 liens créés avec le double clic (fichier plus léger)
version 7 liens créés à l'exécution de la routine (fichier plus lourd)

PS:
je suis en train de réaliser le double clic aussi dans la feuille avec l'arbre d'arborescence
ce qui te ferai un classeur entièrement sans lien ! que par double clic !
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Oui Roland, nos messages s'étaient croisés, j'ai réédité mon post.
La version 7 est parfaite. Objectif atteint à 100%.
Comment te remercier ?
Demain test grandeur nature sur le serveur.
Je te donnerai des nouvelles.
Très franchement c'est du super boulot.
Bonne soirée et à demain
 

Discussions similaires


Haut Bas