Comment faire une liste de fichier sous ecxel [Résolu]

morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 21:23 - Dernière réponse : jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention
- 29 mars 2007 à 21:10
Bonjour

J'aimerais faire une liste de fichier contenu dans un dossier et en faire un fichier texte

Merci de votre aide.
Afficher la suite 

Votre réponse

23 réponses

Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 22:44
3
Merci
Là, tu vois, ... jamais moi à ce genre de jeu-là... désolé....
Un autre, peut-être ?

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 21:27
0
Merci
Bonsoir,

en utilisant la fonction Dir

Je te suggère de lire dans ton aide en ligne ce qu'elle peut faire (nombreux exemples d'accompagnement).

Pour en faure un fichier texte, ensuite, : A chaque fichier trouvé :===>> écriture.

Pour écrire dans un fichier texte ? Open .... for  output ou Append (à ton choix)  (aide en ligne et nombreux exemples et sources sur ce forum)...

A quel niveau serait encore ta difficulté ? S'il en reste une, viens nous l'exposer...
Commenter la réponse de jmfmarques
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 21:37
0
Merci
Tu aurais un exemple?
Commenter la réponse de morvion
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 21:40
0
Merci
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 ?
Commenter la réponse de jmfmarques
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 21:41
0
Merci
tu aurais un exemple?
Commenter la réponse de morvion
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 21:42
0
Merci
Elle se trouve ou? car j'ai juste une aide que j'arrive pas à faire marcher

dsl mais je suis mauvais
Commenter la réponse de morvion
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 21:46
0
Merci
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...
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 21:47
0
Merci
Ry n'arrive pas à la faire marcher ?
Réinstalle vite Office, alors ....
Commenter la réponse de jmfmarques
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 22:14
0
Merci
En faite j'ai trouvé des trucs mais je trouve pas où écrire cette fonction?
Commenter la réponse de morvion
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 22:26
0
Merci
Quels "trucs" as-tu trouvés, donc ?

Où l'écrire ? Ben, ... ma foi... (ta question est on ne peut plus sirprenante !) où tu le souhaites... et tu es bien seul à le savoir...


Montres-nous donc ce que tu écrirais dans l'événement click d'un bouton de commande, tiens, par exemple ...


Il faut bien que tu commences à te jeter à l'eau, non ?
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 22:28
0
Merci
Euh...
Je suis un peu inquiet après avoir lu ceci :
http://www.vbfrance.com/infomsg_IMPORT-LISTE-FICHIER-SOUS-ECXEL_911566.aspx

As-tu au moins commencé à te servir de VBA ?
Sais-tu ce qu'est un UserForm ? Comment on écrit une macro ?...
J'ai un présentiment, là ....
Commenter la réponse de jmfmarques
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 22:31
0
Merci
j'ai rien compris lol

myfile = Dir("c:Documents and Settings\sophie\Bureau\GARREAU ROLAND")

dans VBA feuille 1

mais je suis sur qu'il manque plein de truc

et oui j'ai besoin d'une formation complete
Commenter la réponse de morvion
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 22:31
0
Merci
j'ai rien compris lol

myfile = Dir("c:Documents and Settings\sophie\Bureau\GARREAU ROLAND")

dans VBA feuille 1

mais je suis sur qu'il manque plein de truc

et oui j'ai besoin d'une formation complete
Commenter la réponse de morvion
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 22:34
0
Merci
en fait j'ai juste fait des changement sur des truc existant enfin ... changer des repertoires quoi

donc non
Commenter la réponse de morvion
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 28 mars 2007 à 22:39
0
Merci
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)

Bonne étude
Commenter la réponse de jmfmarques
morvion 17 Messages postés mercredi 28 mars 2007Date d'inscription 18 octobre 2010 Dernière intervention - 28 mars 2007 à 22:42
0
Merci
tu n'aurais pas un petit fichier tous fait pour ce dont j'ai besoin car c'est assez urgent et je commencerais mon étude avec ce petit dossier

merci pour tous
Commenter la réponse de morvion
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 28 mars 2007 à 23:19
0
Merci
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.

(ps : regarde le lien en rouge)

25/03/2007 - Arrêter ou redémarrer la machine
[ Voir VB6, VBA seulement]

06/03/2007 - Tester l'existance d'un répertoire
[ Voir VB6, VBA seulement]

04/03/2007 - Créer le raccourci de l'application sur le bureau
[ Voir VB6 seulement]

04/03/2007 - Lister la Police d'ecriture
[ Voir VB6 seulement]

04/03/2007 - Résolution de l'écran
[ Voir VB6, VBA seulement]

04/03/2007 - Savoir si les cellules sélectionnées (Excel) sont en gras et italiques
[ Voir VBA seulement]

04/03/2007 - Savoir si le nom d'une plage a été définie (Excel)
[ Voir VBA seulement]

04/03/2007 - Lister la Police d'ecriture
[ Voir VBA seulement]

04/03/2007 - Récupérer les infos (propriétés) d'un classeur Excel
[ Voir VBA seulement]

04/03/2007 - Fermer TOUS les classeurs Excel, avec paramètres d'enregitrement (True / False)
[ Voir VBA seulement]

04/03/2007 - Déterminer le type de la cellule Excel donnée en paramètre
[ Voir VBA seulement]

03/03/2007 - Supprimer sur place les doublons d'une colonne
[ Voir VBA seulement]

01/03/2007 - Convertit en jours / heures / minutes le temps entre 2 dates & heures
[ Voir VB6, VBA seulement]

28/02/2007 - Convertit en jours / heures / minutes le temps entre 2 dates & heures
[ Voir VB6, VBA seulement]

24/02/2007 - Arrondir un nombre à n décimal
[ Voir VB6, VBA seulement]

24/02/2007 - Ouvrir un fichier Word ou Excel, s'il est ouvert, une copie en lecture seule s'ouvre
[ Voir VB6, VBA seulement]

17/02/2007 - Effacer tous les TextBox d'un UserForm
[ Voir VBA seulement]

08/12/2006 - Identifier la position d'une colonne excel depuis son header, et vice versa
[ Voir VBA seulement]

25/11/2006 - Trier les données d'un tableau (Liste() As String)
[ Voir VB6, VBA seulement]

23/11/2006 - Protéger et Deprotéger une feuille excel
[ Voir VBA seulement]

16/11/2006 - Modifier le séparateur de décimale (options régionales et linguistiques)
[ Voir VB6 seulement]

16/11/2006 - Modifier le séparateur de décimale (options régionales et linguistiques)
[ Voir VBA seulement]

01/11/2006 - Rechercher les adresses des cellules (excel) contenant un mot clé
[ Voir VB6 seulement]

31/10/2006 - Afficher la date du jour
[ Voir VB6, VBA seulement]

31/10/2006 - Supprimer la croix d'un UserForm (VBA)
[ Voir VBA seulement]

30/10/2006 - Déterminer le handle (hwnd) d'un UserForm, en VBA
[ Voir VBA seulement]

30/10/2006 - Rechercher les adresses des cellules (excel) contenant un mot clé
[ Voir VBA seulement]

20/10/2006 - Calculer le numero de semaine d'une date
[ Voir VB6, VBA seulement]

19/10/2006 - Determiner si une année est bissextile
[ Voir VB6, VBA seulement]

17/10/2006 - Calcul d'un montant Hors Taxes et Toutes Taxes Comprises
[ Voir VB6, VBA seulement]

15/10/2006 - Savoir si la date déterminée est un jour de Week-End
[ Voir VB6, VBA seulement]

13/10/2006 - Renommer une feuille d'un classeur excel
[ Voir VB6, VBA seulement]

11/10/2006 - Compter le nombre d'occurrence d'une chaine dans une autre
[ Voir VB6, VBA seulement]

07/09/2006 - Remplacement de doublon dans une chaine
[ Voir VB6, VBA seulement]

27/08/2006 - Lister tous les fichiers d'un repertoire
[ Voir VBA seulement]

26/08/2006 - Rechercher la première ligne ou colonne vide, à partir d'une cellule, avec paramètres
[ Voir VBA seulement]

26/08/2006 - Rechercher la Ligne Vide dans Excel
[ Voir VBA seulement]

25/08/2006 - Déterminer si une plage est contenue dans une autre
[ Voir VBA seulement]

25/08/2006 - Supprimer les lignes vides d'un classeur
[ Voir VBA seulement]

24/08/2006 - Comment ouvrir un classeur Excel Vierge depuis VB6
[ Voir VBA seulement]

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Commenter la réponse de mortalino
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - 28 mars 2007 à 23:55
0
Merci
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

TousLesFichiers "C:", 0, False

Bonne prog

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Commenter la réponse de valtrase
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 29 mars 2007 à 11:40
0
Merci
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 !
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 29 mars 2007 à 12:03
0
Merci
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 ....
Commenter la réponse de jmfmarques

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.