morvion
Messages postés17Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention18 octobre 2010
-
28 mars 2007 à 21:23
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
29 mars 2007 à 21:10
Bonjour
J'aimerais faire une liste de fichier contenu dans un dossier et en faire un fichier texte
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 mars 2007 à 21:40
Oui, bien évidemment : celui même que tu trouveras dans ton aide en ligne pour lister les fichiers d'un répertoire.
L'as-tu au moins essayé ?
Si tu as ensuite une difficulté pour écrire dans un fichier texte (à raison d'un par ligne) les fichiers trouvés, on en reparle... d'accord ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 mars 2007 à 21:46
Il arrive que certains répondent qu'ils n'ont pas "installé" MSDN sous B6. Mais toi, tu n'as pas cette excude ... tu es sous VBA Excel et tu l'as forcément, cette aide en ligne... et tu as aussi F1...après avioir frappé le mot Dir...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 mars 2007 à 22:39
Ce ne sont pas des "trucs" qui te manquent, morvion, mais TOUT !
Commence par :
1) par lire ton aide en ligne pour connaître le fonctionnement de VBA
2) exerce-toi à créer des petites macros, même sans but, juste pour comprendre ce qu'est une macro. Exécute-les... vois...
3) vois ce que sont les userforms, les contrôles, les événements, etc...
4) fais de tous petits projets pour t'exercer
Aide-toi, pour mieux comprendre, de l'enregistreur de macros... mets-le en route... fais 2 ou 3 gestes... enregistre... rouvre la macro écrite et regarde...
Tu ne peux certes pas avancer sous VBA si tu n'es pas déjà passé par ces petits gestes indispensables...
Il te faut bien comprendre la différence entre EXCEL tout seul et VBA pour Excel (et son utilisation)
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 28 mars 2007 à 23:19
Salut,
tu peux aussi fouiller mes Snippets (fonctions, bouts de code). 80 % de mes snippets traitent exclusivement Excel (via VBA).
Il y en a bien une qui fera ton bonheur, et comme jmfmarques le dit, cela te fera un entrainement.
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 28 mars 2007 à 23:55
Salut,
Du concret pas de moi non plus mais bon ......
'CODE A METTRE DANS UN MODULE
'Liste des fichiers d'un répertoire et de ses sous répertoire
'(option pour empêcher l'examen des sous répertoires)
Sub TousLesFichiers(LeDossier As String, Idx As Long, Optional SousFldr = True)
'pour empêcher l'examen des ss/répertoires, affecter False à SousFldr
Dim fso As Object, Dossier As Object
Dim sousRep As Object, Fich As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(LeDossier)
'examen du dossier courant
For Each Fich In Dossier.Files
Idx = Idx + 1
'Ici on enregistre dans un fichier
Dim MyFile
MyFile = FreeFile
'Ici tu choisi le chemin et le nom de ton fichier
Open "C:\liste fichier.txt" For Append As #MyFile
Print #MyFile, Fich.Name
Close #MyFile
Next
If Not SousFldr Then Exit Sub 'sans les sous dossiers
'traitement récursif des sous dossiers
For Each sousRep In Dossier.subfolders
TousLesFichiers sousRep.Path, Idx
Next sousRep
End Sub
Pour le test tu crée un bouton et dans le code de celui-ci tu tappe
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 29 mars 2007 à 11:40
Tu es gentil, Jean-Paul...
Mais laisse-moi t'exprimer ici mon étonnement !
Morvion est très manifestement en train de "commencer à commencer" (la lecture de ce qui précède montre même qu'il n'a pas encore vraiment commencé avec VBA)
Il ne sait pas ce qu'est un module.
Tu le diriges sans sourciller vers FSO qui, en plus, n'est pas nécessaire, est une notion qu'il ne connaît pas du tout... et qui est un "tremplin" supplémentaire qui viendra alourdir bien inutilement VB ...
- tu n'hésites pas, à insérer dans ta boucle l'ouverture et la fermeture d'un fichier texte (bien maladroit... ma foi)
Alors : Morvion ne veut pas lister autre chose que les fichiers d'un répertoire et n'a donc pas besoin de récursivité (comment, d'ailleurs, penser qu'à son niveau il ait une idée de la récursivité ?...)
VB lui offre la possibilité, toute simple et toute bête, de faire ce qu'il veut avec seulement l'apprentissage de Dir et de Open... for...
Si tu veux l'aider : d'accord, mais avec ce que je viens de dire là et qui est très facile... pas avec cet étalage qui ne sert qu'à le noyer complètement, s'il te plait !
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 29 mars 2007 à 12:03
Voilà...
Si tu veux vraiment l'aider :
1) explique-lui ce qu'est une macro (il ne le sait pas encore vraiment), ce que sont les contrpoles, les événements, etc...
2) commente lui ce tout petit bout de code qui fait ce qu'il veut sans passer par des "tremplins"...
Private Sub Command1_Click()
Open "d:\monoutil\voyons.txt" For Output As #1
chemin = "d:"
filtre = "*"
fichiers = Dir(chemin & filtre)
Do While fichiers <> ""
Print #1, fichiers
fichiers = Dir
Loop
Close #1
End Sub
Je demeure persuadé de ce que je viens de faiblir et que je n'aurais pas dû... Morvion a vraiment besoin de regarder sérieusement ce qu'est VBA et comment on s'en sert, avant de se lancer... mais bon ....