Arborescence d'un dossier

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

bonsoir,

ceci est dû au fait que c'est au format 2003 nombre de lignes = 65536
je le mets au format 2007 nombres de lignes = 1048576

EDIT:

! j'ai remis le classeur après qq petites corrections !
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Bonjour Roland

Je suis en train avec le fichier depuis ce matin moi aussi.
J'ai fait quelques corrections de tailles, présentation et simplification du UserForm, etc ...
Du coup mon fichier ne prend pas en compte tes corrections ... zut !
J'ai tout testé dans tous les sens, pas un bug.
C'est 120 % de l'objectif initial, ça !
Quelques détails :
- peux-tu centrer les titres de colonnes (ligne A) et les laisser en taille 11 bold ?
- augmenter la taille de la colonne C et centrer les tailles (je ne vois que : "Taill(K")
Voici mon fichier :
Voir la pièce jointe ListRepFichArboresMarcaplus9_findEssaiArborSansDossier - ex d-Sauvegardes.xlsm

A plus tard, encore merci

Edit 11h55 : sympa les 2 Menus Select Arborescence et Select Fichiers dans le UF, à conserver !
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

bonjour,

voici donc le classeur(final !?) avec les modif demandées !
s'il faut modifier qq chose sur la présentation de l'userf tu me mets un exemple !
mais il me semble que tout est utile !?

EDIT: pendant ce temps je re-vérifie tout ça et au cas où je remettrai le classeur !
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Merci cher ami.
J'ai encore quelques détails à régler :
Centrage des nombres dans la colonne Taille et largeur des colonnes A et C :
voir ce fichier :
Centrage.jpg
Par rapport au travail qui a été fait, ce n'est rien !
Merci de t'accrocher comme celà, beaucoup auraient laissé tomber ! On sent la passion ...
 

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Dernières stats avec cette version: 65362 fichiers, 5909 dossiers, fichier généré en 5 minutes.
Je ne vois plus grand chose à améliorer, c'est parfait.

Pour tout ce que tu as fait pour moi, mille mercis cher ami.

Je te ferai un retour.

Marc
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

ok ! content pour toi !

mais je n'ai pas vu que tu avais chargé le classeur à mon post#65
avec les modif de largeur de colonnes que tu m'as demandé !?
je vois 0 affichage j'en conclus qu'il n'a pas été chargé !
ou alors c'est une erreur !
 

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Chez moi il affichait aussi 0 affichages, j'ai réactualisé la page par F5 et je vois bien 2 affichages.
Le fichier est parti au DSI, j'attends qu'il me réponde.
A plus
 

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Hello Roland
J'ai encore une demande ...
Puis-je te la poser ?
Si tu en as marre n'hésites pas à le dire ..
A plus
 

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Et bien voilà :
Y aurait-il un moyen d'exporter les résultats des macros LoadArborescence et Load Fichiers vers un autre fichier Excel ne contenant PAS ces macros mais contenant les modules de recherche ?
Je m'explique : le premier fichier Excel serait l'actuel, on lancerait les 2 macros LoadArborescence et Load Fichiers dès son ouverture.
Le 2ème fichier contiendrait uniquement les résultats de l'exécution de ces macros, c'est celui qui serait exploité par les salariés.
Ce 2ème fichier sans les macros contiendrait uniquement les résultats et le module de recherche
Cela simplifierait l'exécution automatique du 1er fichier tous les jours, sans intervention humaine (le serveur le lancerait seul).
Dis-moi comment tu le sens ...
A demain !
Bonne nuit.
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

il s'agit simplement des feuilles avec le résultat ou avec le résultat et les fonctions de recherche ?

EDIT: effectivement j'ai mal lu il s'agit du résultat et des fonctions de recherche.

il faut voir !? je peux peut être créer les deux classeurs
et voir pour importer les feuilles avec le résultat dans le second classeur uniquement avec filtre !?

je vais réfléchir à ça !
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

bonsoir,

pour toi t'amuser un peu ce matin, voici les deux classeurs pour faire essais !
normalement c'est OK !
mais je vérifierais tout ça demain matin(tout à l'heure) car il se fait tard !

ci-joint les classeurs
un que j'ai nommé ...Load (classeur complet actuel+n'elle fonction transfert)
un que j'ai nommé ...Find (uniquement pour les recherches sur les feuilles !)
tu peux bien entendu les renommer comme tu le souhaites.

MAIS ATTENTION à ne pas modifié le nom que j'ai donné au projet côté vba !
il y a toujours par defaut VBAProjet(NomDuClasseur), j'ai renommé:
LoadRoland et FindRoland
c'est ce qui me sert de test ! ne pas modifier sinon ça ne fonctionnera pas !

j'ai rajouté au classeur Load une fonction pour le transfert des feuilles
il faut pour cela que le classeur ...Find soit chargé !
il y a des tests qui détectent sa présence !

le principe et le suivant pour le deux feuilles:
j'efface d'abord la Feuille dans destination(find) pour ne pas se retrouver avec exemple Feuil(2)
puis je copie la Feuille du classeur source vers destination
une à la fois car il faut garder une feuille minimum dans le classeur !

j'ai fais des essais très concluant !

alors à demain et bonne nuit à tous !
 

Fichiers joints

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Bonjour Roland.
La forme ? Dernier message à 1h09 ... wouahou ...
J'ai essayé mais j'obtiens une erreur d'exécution 1004 : "L'accès par programme au projet Visual Basic n'est pas fiable".
Ça coince sur : If Workbooks(I).VBProject.Name = "FindRoland" Then
A ce moment, les 2 classeurs sont ouverts.
Du coup, j'ai essayé d'enregistrer une macro qui effectue la copie toute seule. La voici :
Sub CopieFeuilles()
'
' CopieFeuilles Macro
'

'
Windows("ListRepFichArboresMarcaplusFind.xlsm").Activate
Cells.Select
Selection.ClearContents
Sheets("Arborescence").Select
Cells.Select
Selection.ClearContents
Windows("ListRepFichArboresMarcaplusLoad.xlsm").Activate
Cells.Select
Selection.Copy
Windows("ListRepFichArboresMarcaplusFind.xlsm").Activate
Sheets("Fichiers").Select
Range("A1").Select
ActiveSheet.Paste
Windows("ListRepFichArboresMarcaplusLoad.xlsm").Activate
Sheets("Arborescence").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("ListRepFichArboresMarcaplusFind.xlsm").Activate
Sheets("Arborescence").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

Elle fonctionne bien une fois, mais ne copie plus le contenu de la feuille Fichiers quand je la relance. A voir ...
Au fait, à propos des fichiers joints dans le forum : ce matin ils étaient à 1 affichage, et toujours à 1 après mes téléchargements.
Ca n'a pas l'air de fonctionner correctement, leur système de compteur d'affichage, même après un rafraîchissement de la page.
A plus
Marc
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

bonjour,

je ne comprends pas du tout ? chez moi ça fonctionne à merveille !
je peux cliquer transfert autant de fois que je veux ça tourne !

tu dis:
J'ai essayé mais j'obtiens une erreur d'exécution 1004 : "L'accès par programme au projet Visual Basic n'est pas fiable".
pour moi c'est une question de sécurité !
il faut voir dans les options d'Excel:
1' centre de gestion de la confidentialité
2'Paramètres du Centre de gestion de la confidentialité
3' paramètres des macros
4' cocher en bas
accès approuvé au modèle d'objet du projet vba

EDIT:
j'ai confirmation sur le net ! il me semblait bien !

j'ai trouvé ceci suite à cette question avec 2003 et qui répond pour 2007 ...

Pour atteindre le même menu sous Excel 2007 :
Menu Office -> Options Excel -> Centre de gestion de la confidentialité -> Paramètres du Centre de gestion de la confidentialité -> Paramètres des macros -> Accès approuvé au modèle d'objet du projet VBA

voilà l'explication, il n'y a aucune raison pour que ça ne fonctionne pas !
donc je continue mes vérifications et autres adaptation ce matin !
je te tiens au courant quand j'ai fini !
 
Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Effectivement, tu avais raison, l'accès approuvé au modèle d'objet du projet vba était désactivé chez moi.
Cela fonctionne comme il faut.
2 choses à voir :
- Peux-tu, dans le UF de Find, mettre en surbrillance ce qui est sélectionné (Select Arborescence ou Select Fichiers) ?
- Il faut maintenant réfléchir à ce qu'il faut faire pour que le serveur lance le xlsm LOAD seul :
Donc supprimer le message d'avertissement lors du Transfert.
- Je peux demander au DSI de l'entreprise d'ouvrir les 2 fichiers chaque matin à 7h00.
Scénario :
1- Ouverture xlsm FIND
2- Ouverture xlsm LOAD
3- A l'ouverture de LOAD :
- Lancement automatique de la macro SupprimerTOUT dans feuille Arborescence
- Lancement automatique de la macro SupprimerTOUT dans feuille Fichiers
- Lancement automatique de la macro LoadArborescence
(pause 1 minute le temps qu'elle s'exécute, ou instruction ne pas lancer étape suivante avant la fin de l'exécution de
cette routine)
- Lancement automatique de la macro LoadFichiers (pause 5 minutes ou instruction)
- Lancement automatique de la macro Transfert vers FIND
- Fermeture de LOAD sans enregistrement
- Fermeture de FIND avec enregistrement

Bon courage cher ami !
Et merci encore
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re:

Marc:
- Peux-tu, dans le UF de Find, mettre en surbrillance ce qui est sélectionné (Select Arborescence ou Select Fichiers) ?
Roland:
j'y ai bien sûr pensé mais ce n'est pas fiable !
si on clique en bas de la feuille sur les onglets l'userf qui est activé n'est pas rafraichi !
j'ai essayé avec UserForm_MouseMove, lorsque la souris passe devant je peux réactualiser les infos
mais tant que l'on a pas passé devant il ne se passe rien, donc affichage non fiable !
bon, maintenant, on vois bien les titres de la feuilles ça ne devrait pas poser problème !?

pour le reste, l'automatisme de tout ceci est faisable.
mais sans confirmation c'est une source de problèmes assurés !
tout lancer à l'ouverture sans prévenir et lancer la procédure c'est hyper-scabreux !
il faut au moins une confirmation afin de stopper la procédure afin de prendre la main.
il ne serait plus possible d'ouvrir ce classeur sans que ça lance tout auto !?
ce n'est pas possible de travailler comme ça !

moi je vois ceci:
1' ouvrir en premier le classeur Find ! sinon le classeur s'arrétera !
2' ouvrir en second le classeur Load ! qui lance la procédure après confirmation !

je crée cette routine d'automatisme
j'ajoute un bouton dans l'userform qui peut aussi lancer cette procédure !
il faut garder toutes les possibilité d'accès aux fonctions manuellement !
sinon, ce serait comme les voitures de l'avenir plus de volant tout auto
si ça va dans le ravin c'est bonjour pour le grand saut !

je vais voir à tout ça car le programme n'est conçu pour ça
ensuite on n'a pas de feuille avec des paramètres sauvegardés
donc pas évident de travailler comme ça !?

je vais voir si ça me pose pas trop de problème !?
le déroulement serait, dans le classeur Load:
nettoyage des feuilles
chargement des données dans les feuilles
transfert des feuilles (c'est plus fiable copie des feuilles plutôt que des données j'ai fais l'essai)
sauvegarde du classeur Find !
et fermeture des classeurs !

faudra-il quitter excel ?
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re, bonjour à tous

ci-joint les deux classeurs !

à tester !?

j'ai réussi à mettre les boutons de feuil.select en évidence
plus le nom de la feuille dans le label qui affiche Saisie recherche ...
Saisie recherche sur Fichiers
Saisie recherche sur Arborescence
 

Fichiers joints

Dernière édition:

Marcaplus

XLDnaute Nouveau
Re : Arborescence d'un dossier

Je viens de regarder pendant ma pause déjeûner :
Chez moi, ça fonctionne.
J'ai vu tes nombreux messages d'alerte, c'est clair.
J'ai vu que tu as épuré les macros dans Find.
Je suis d'accord avec toi quand tu dis qu'Excel n'est pas fait pour s’ouvrir et se fermer seul, c'est vrai.
Ça m'oblige à lancer régulièrement le Load et transfert auto Load>Find, mais dans le fond ce n'est pas bien grave, je le ferai régulièrement.
Je trouve aussi que c'est mieux de transférer les feuilles plutôt que d'en copier le contenu.

1-Une solution consisterait cependant à marquer un temps de pause (par exemple 30 secondes) entre l'ouverture de Load et le lancement de "Load et transfert auto". Pendant ce temps, on aurait la possibilité d'arrêter le lancement avant qu'il ne s'effectue.
2-Suite à ta question : oui il faudrait quitter Excel à la fin.
3-Le "termine par ..." ne servira pas, peux-tu le supprimer ?
4-T'est-il possible de continuer à numéroter les versions de fichiers ?
Je ne sais pas comment tu as fait pour que ça fonctionne quel que soit le dossier dans lequel se trouvent les 2 fichiers ...
5-Pourquoi ne pas demander à Load qu'il ouvre Find tout seul ? peut-être pas possible ?
Je suppose que tu as mis le TakeFocusOnClick sur True pour mettre en évidence dans la recherche l'Arborescence oules Fichiers, non ?

A plus (prends ton temps, tu es très réactif !)
 

Roland_M

XLDnaute Barbatruc
Re : Arborescence d'un dossier

re

vu tes questions, as tu bien essayé les dernières modif mises Aujourd'hui à 13h48 ?

Marc:
Une solution consisterait cependant à marquer un temps de pause (par exemple 30 secondes) entre l'ouverture de Load et le lancement de "Load et transfert auto".
Pendant ce temps, on aurait la possibilité d'arrêter le lancement avant qu'il ne s'effectue.

Roland: c'est inutile puisqu'il a la boîte de dialogue avec confirmation !? il suffit de répondre non !?


Marc:
Je suis d'accord avec toi quand tu dis qu'Excel n'est pas fait pour s’ouvrir et se fermer seul, c'est vrai.
Ça m'oblige à lancer régulièrement le Load et transfert auto Load>Find, mais dans le fond ce n'est pas bien grave ...

Roland:
mais je peux fermer un ou les deux classeurs sans fermer Excel !?
toutes les possibilités sont possible ! quel est ton choix ?
je comprends pas bien fermer pour recharger ?


Marc:
Je ne sais pas comment tu as fait pour que ça fonctionne quel que soit le dossier dans lequel se trouvent les 2 fichiers
Roland:
l'enregistrement s'effectue dans le répertoire ou se trouve le classeur au moment du chargement(le path)

Marc:
Pourquoi ne pas demander à Load qu'il ouvre Find tout seul ? peut-être pas possible ?

Roland: SI !
mais à une condition, qu'il se trouve dans le même répertoire(path) que Load !
et aussi qu'il ne change pas de nom !? c'est très délicat !
quand c'est perso c'est facile mais là ce n'est pas le cas !


Marc:
Je suppose que tu as mis le TakeFocusOnClick sur True pour mettre en évidence dans la recherche l'Arborescence ou les Fichiers

Roland: NON !
j'ai mis dans les codes feuilles Worksheet_Activate()
et j'ai créé un sub Public InitButtonSelectFeuil() dans l'userf
j'en profite de te dire que j'ai deux variables très importantes
qui se baladent dans le classeur selon l'état du déroulement !
il s'agit de: TransfertAuto et ErreurAuto as boolean
TransfertAuto = True au lancement de la procédure transfert auto
ErreurAuto = True si une erreur se produit dans les routines stratégiques !
ce qui me permet de gérer les événements !

concernant la mise en évidence dans l'userf de la feuille en cours:
quand la feuille est activée ça déclanche ceci:

Code:
Private Sub Worksheet_Activate()
If TransfertAuto = False Then
   On Error Resume Next: fm_MenuRoland.Show
   fm_MenuRoland.InitButtonSelectFeuil
   On Error GoTo 0: Err.Clear
End If
End Sub
et dans l'userf
Code:
Public Sub InitButtonSelectFeuil() '! Public appel depuis les codes feuilles
If ActiveSheet.Name = NomFeuilArbores$ Then
   ButtonSelectArbores.Font.Bold = True: ButtonSelectFichiers.Font.Bold = False
ElseIf ActiveSheet.Name = NomFeuilFichiers$ Then
   ButtonSelectArbores.Font.Bold = False: ButtonSelectFichiers.Font.Bold = True
End If
LbSaisie.Caption = "Saisie recherche sur " & ActiveSheet.Name
End Sub


Marc: Le "termine par ..." ne servira pas, peux-tu le supprimer ?
Roland: OK

Marc: T'est-il possible de continuer à numéroter les versions de fichiers ?
Roland: Ok ! comme il s'agit de deux nouveaux classeurs je commence par 1
 

Fichiers joints

Dernière édition:

Discussions similaires


Haut Bas