Trouver les fichiers en mode dynamique ?

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

bon alors moi je rends ma blouse, je verrai la suite demain, merci à tous pour votre aide, j'ai mis ce forum dans mes favoris et je sens que je vais y revenir très souvent ;)
Bonne soirée à tous, bon match :)
 

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Re

Oui, mais si je sélectionne un répertoire qui contient des sous-répertoires
contenant des *.xls

ex:

C:\Temp
contient: toto.xls
et
C:\Temp\pemT\titi.xls

Ton code ne trouve que toto.xls
 

Épaf

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

Alors non seulement tu veux lister les fichiers du répertoire ouvert mais également ceux des sous répertoires... C'est ça ?
Si oui, j'ai écrit un code qui utilise fso.
Ce code nécessite la validation de la référence "Microsoft Scripting Runtime"
Maintenant, si c'est ce que tu veux, je regarderai pour adapter quelque chose au code que tu as déjà... mais + tard :D
Voir les fichiers joints ici
Bonne soirée
@+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Merci Epaf de ton implication


Juste une petit précision


Moi je ne veux rien ;) (ne suis pas l'auteur du post)

Je te remontais juste l'info :

ta macro ne traite que les fichiers à la racine d'un répertoire
pas les sous-répertoires.


Situation désormais traitée avec ton nouveau code.


Merci
 

Épaf

XLDnaute Occasionnel
Trouver les fichiers d'un répertoire et de ses sous-répertoires "Spécial Staple1600"

Post édité et corrigé
Hello Staple, donc
Tu m'as fait travailler un samedi soir :mad: Enfin, "on" a gagné !
Espécialement pour toi, j'ai modifié le code de ma précédente pièce jointe afin de répondre à tes desiderata. Le présent fichier liste donc les fichiers du répertoire sélectionné et des sous-répertoires de celui-ci. Sans doute peut-on faire mieux mais bon, ça fonctionne et ce n'est pas trop long.

A vérifier : Ce code nécessite la validation de la référence "Microsoft Scripting Runtime"
VB Editor -> Menu Outils -> Références
Voir les fichiers joints, réponse 89
Merci pour tes "incitations"

Hello Thierry,
A propos de BrowseForFolder(zéro, un, deux ,trois) merci pour ton explication. Par contre, si je mets deux = -1 ou True, j'obtiens les seuls racourcis du bureau, non le poste de travail. Donc pas d'accès aux volumes.
Juste pour info.
Explications fournies sur le post suivant

Bonne soirée et bon we
&paf
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Re : Trouver les fichiers d'un répertoire et de ses sous-répertoires "Spécial Thierry

Bonsoir ou Bonjour Epaf

Merci pour ton post, mais à mon avis tu n'as pas bien tout suivi dans ce Fil, qui, je dois reconnaître, est un peu décousu, c'est un comble pour un Fil (lol)

Enfin bref pour éviter toute confusion, moi je n'ai rien demandé, pas de désirata de ma part, le demandeur était alucard_xs comme te l'a fait remarquer Stapple1600.

J'ai malgré tout regardé ton fichier, et j'ai un souci si je choisis un dossier "Vision Virtuelle de Windows" style "My Documents", en effet on a le problème, qu'il me semble, a déjà signalé alucard_xs sur ta ligne pour le Chemin.

Pour l'option BrowseForFolder dont j'ai parlé, oui c'est normal si tu n'as pas spécifié de Drive ou de Path dans l'argument prévu à cet effet, en plus comme je l'ai indiqué, on limite l'utilisateur pour éviter la création intempestive de nouveaux répertoires... Pour la version II que j'ai faite sans avoir bien compris la demande d'alucard_xs, j'ai changé cette option, et du coup si je ne spécifie pas de répertoire, je reproduis là même erreur que tu obtiens.

Enfin pour moi, c'est juste interressant de savoir d'avance que tout ne sera pas rose sous Office 2007 d'après ce que j'ai vu dans ce fil...

Bonne Nuit
@+Thierry
 

Épaf

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

Bonjour Thierry, ça démarre fort.
Ok pour tes remarques. Je dois dire que j'ai posté en regardant "le" match d'un oeil... pour satisfaire à une vieille superstition qui veut que chaque fois que j'assiste à une manifestation sportive, les français perdent :D Et le passage en différé d'un enregistrement n'arrange rien, ils perdent quand même :D
Je corrige donc mon précédent message pour rendre à César ce qui appartient à Staple...
Pour BrowseForFolder, c'est ok oci. Dans l'état où j'étais, je n'avais pas toutes mes facultés...
Pour tes craintes quant à Office 2007, m'en parle pas, quand je ne pourrai plus rien apporter sur VBA 97-2003 j'ai décidé de prendre du recul et de passer à la menuiserie. Ça change moins vite.
Pour "mes documents", j'ai fait le même constat que toi. A défaut d'une solution plus sioux, j'ajouterai une gestion d'erreur qui affichera un message circonstancié... Elle sera en outre nécessaire si l'utilisateur sélectionne un fichier plutôt qu'un dossier.
Mais je retiens "le fil décousu" pour le jour où j'aurai à faire une reprise...
Bref, je corrige tout ça
Bonne journée et merci pour tes réponses.

Edit
Un complément à tout ce que je viens de dire : Il existe une méthode permettant d'ajouter une icône dans une barre de titre d'un userform. Qu'est-ce que cela a à voir avec une liste de fichier ?
Simplement le fait que si on fait ça, avec ouverture du classeur sur l'userform en question, Application.FileSearch ne fonctionne plus => Plantage sur .Execute + Message belliqueux !
Si tu as une idée...
 
Dernière édition:

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

salut à tous, bon je reprends ce matin lol

je vais essayer d'affecter une macro par bouton, dans cette macro je demande de partir des fichiers listés et d'appliquer des formules sur certaines cases, j'aimerai bein aussi que ces nouveaux fichiers 'macroés' se sauvegardent dans un repertoire donné (du genre dans un sous repertoire de celui choisi au début).

Toute aide sera bonne à prendre ;)Je compte partir de ceci :

Code:
Sub loopThroughFilesExample()
Application.DisplayAlerts = False
myFile = ActiveWorkbook.Name
myPath = "C:\Excel\deleteThese\"       
workfile = Dir(myPath & "*.xls")
Do While workfile <> ""
application.StatusBar = "Now working on " & workfile workbooks.Open Filename:=myPath & workfile
doSomething ActiveWorkbook
ActiveWorkbook.Save: Windows(workfile).Close
Windows(myFile).Activate workfile = Dir()
Loop
Application.StatusBar = False
end Sub Sub doSomething(inBook As Workbook)
'indiquez ce que vous voulez faire pour un classeur & utilisez les instruction suivantes pour boucler sur ses feuilles
For Each wksht In inBook.Worksheets
        'do whatever you want here to each worksheet....
Next wksht
End Sub

Par contre que mettre au mypath, car dans le code ci-dessus, le mypath se limite à un chemin fixe.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Bonjour


Toute aide sera bonne à prendre Je compte partir de ceci :
De l'aide et du code VBA , il y en a plein ce fil

Pourquoi n'utilises-tu pas le(s) code(s) proposés par les différents
intervenants du forum?


Bonne fin de week-end
 

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

Je vous met mes fichiers type,

fichier.xls -> fichier qui se trouve dans mon repertoire anaylé au départ et dont la liste s'affiche.
fichiermacroé.xls -> fichier après application de la macro (la feuille 3 reprend la feuille 1 du fichier.xls

au final ce qui serait bien c'est que la macro me permettant de passer de fichier.xls à fichiermacroé.xls, se fasse toute seule en cliquant sur un bouton (type executer comme on a fait précedemment), le fichiermacroé.xls s'enregistrant tout seul dans le sous repertoire (/apresmacro par exemple) du repertoire de départ.

EN fait il y aurait un truc supplémentaire, c'est que cela m'exporte la feuille 1 (celle où il y a le graphique) du fichiermacroé.xms en fichier pdf dans un autre sous repertoire aussi

"Pourquoi n'utilises-tu pas le(s) code(s) proposés par les différents
intervenants du forum?" -> si si je suis dedans là ;)
 

Fichiers joints

Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Re


Dans tes fichiers proposés, je ne vois aucun code VBA issu de ce fil de discussion

Ni même la macro loopThroughFilesExample() ???? :confused:
 

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

voici le fichier de demarrage, on clique dessus ça ouvre un genre de "bureau de commande", ça liste les fichiers en appuyant sur le bouton repertoire, puis le boutons 2 servirai à appliquer la fameuse macro que je ch pour passer du fichier.xls -> fichiermacroé.xls.
 

Fichiers joints

Dernière édition:

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

bon je n'ai peut etre pas été suffisament clair, je reprends :

1) On lance Lister Les Fichiers D'un Répertoire.xls
2) on clique sur "repertoire" -> on obtient la liste des fichiers qui m'interesse (exemple: ceux qui sont dans d:\essai\fichiersexcel)
3) on clique sur le bouton "2" -> les fichiers présents dans la liste se transforment en fichiermacroé (avec dont les 3 feuilles - dont le graphique) et s'exportent automatiquement dans un sous-repertoire (exemple : d:\essai\fichiersexcel\fichiers modifiés)
4) on clique sur le bouton "3" -> la feuille 3 (celle du graphique) des fichiers macroé se transforment en pdf et s'exportent automatiquement dans un sous-repertoire (exemple : d:\essai\fichiersexcel\fichiers modifiés\pdf)

Pour le moment, l'étape 1 et l'étape 2 marchent très bien.
 

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Re

Ok, avec ton dernier fichier en cours, mes doutes se sont envolés ;)
 

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

j'espère que mes explications vous semblent cohérentes

deja il va fallori que la macro de passage créee trois feuilles, copie la feuille1 du fichier.xls dans la feuille3 du fichiermacroé.xls, après la sous-macro pour faire le tableau en feuille 2 puis créee le graphique en feuille1 ... c'est pas gagné mon affaire moi ...

j'ai quand même vraiment du mal.
 
Dernière édition:

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

je sais pas trop comment faire en fait, faut il que d'abord je fasse une macro qui me copiera mes fichiers dans un autre repertoire ?
 

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

mon "chemin" représente mon repertoire par défaut, comment fair epour lui créer un sous repertoire, niveau écriture, comment faire ? je doute qu'un
Code:
chemin\repertoire
fonctionne

personne ici ce matin ? -> arf je suis pas dans le bousier moi du tout ...
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Trouver les fichiers en mode dynamique ?

Re


Pour créer un répertoire

MkDir, instruction, exemple
Cet exemple utilise l'instruction MkDir pour créer un répertoire ou un dossier. Si le lecteur n'est pas indiqué, le nouveau répertoire ou dossier est créé sur le lecteur courant.

MkDir "MONREP" ' Crée un nouveau répertoire ou dossier.

Pour aller un peu plus loin
Code:
sub cree_sousrep()
'teste l'exitence du répertoire
If Len(Dir("d:\essai\fichiersexcel\fichiers modifiés\", vbDirectory)) = 0 Then
'le crée si  il n'existe pas
    MkDir "d:\essai\fichiersexcel\fichiers modifiés\"
End If
end sub
 
Dernière édition:

alucard_xs

XLDnaute Occasionnel
Re : Trouver les fichiers en mode dynamique ?

ok mais si je veux créer un repertoire qui sera le sous repertoire de mon repertoire choisi au début de mon programme (je rappelle que je le choisi via un browse, donc son nom peut etre n'importe lequel)
 

Discussions similaires


Haut Bas