IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Renvoyer le nom d'un répertoire Windows


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 907
    Par défaut Renvoyer le nom d'un répertoire Windows
    bonsoir à tous et à toutes,
    J'aurais besoin de savoir comment me placer sur un répertoire Windows et lire les dossiers et sous dossiers pour connaitre leurs noms.
    Si quelqu'un a une solution merçi de me répondre.
    A +

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 907
    Par défaut
    bonsoir et merçi pour ta piste , j'ai trouvé cette fonction qui m'irait bien mais je souhaiterais connaitre le nom des sous dossiers et celle çi ne le fait pas si tu veux bien comment faire pour y remédier?
    A +
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Sub listerRepertoires_V01
    Dim Cible As String , Chemin As String
     
    Chemin ="C:\Documents and Settings\michel\dossier\general\"
    Cible =Dir(Chemin ,16)
     
    If Cible <> "" Then
    	Do
    	  If Cible <>"." And Cible <>".." Then MsgBox Cible
    	  '".." et "." correspondent aux dossiers Parent et courant 
    	  Cible =Dir
    	Loop Until Cible =""
    End If
    End Sub

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tiré et adapté de la FAQ http://excel.developpez.com/faq/inde...riptingRuntime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub TestListeFolderss()
    Dim Dossier As String
     
    'Définit le répertoire pour débuter la recherche.
    Dossier = "C:\Users\user\Desktop"
    'Appelle la procédure de recherche des fichiers
    Cells.ClearContents
    ListeRep Dossier
     
    'Ajuste la largeur des colonnes A:E en fonction du contenu des cellules.
    Columns("A:B").AutoFit
    MsgBox "Terminé"
    End Sub
     
    'Nécessite d'activer la référence "Microsoft Scripting RunTime"
    'Dans l'éditeur de macros (Alt+F11):
    'Menu Outils
    'Références
    'Cochez la ligne "Microsoft Scripting RunTime".
    'Cliquez sur le bouton OK pour valider.
    Sub ListeRep(Repertoire As String)
    Dim Fso As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder
    Dim SubFolder As Scripting.Folder
    Dim i As Long
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(Repertoire)
     
    'Récupère le numéro de la dernière ligne vide dans la colonne A.
    i = Range("A65536").End(xlUp).Row + 1
    'Inscrit le nom du repertoire dans la cellule
    Cells(i, 1) = SourceFolder.Name
    Cells(i, 2) = SourceFolder.Path
    '--- Appel récursif pour lister les fichier dans les sous-répertoires ---.
    For Each SubFolder In SourceFolder.subfolders
       ListeRep SubFolder.Path
    Next SubFolder
    Set Fso = Nothing
    Set SourceFolder = Nothing
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Renvoyer le nom du répertoire courant
    Par Jiyuu dans le forum VB.NET
    Réponses: 5
    Dernier message: 31/10/2007, 08h18
  2. Réponses: 4
    Dernier message: 08/08/2006, 23h33
  3. Réponses: 1
    Dernier message: 30/05/2006, 16h41
  4. Un purge efficace pour les répertoires Windows
    Par Furius dans le forum Windows XP
    Réponses: 4
    Dernier message: 14/10/2005, 09h20
  5. Réponses: 4
    Dernier message: 14/09/2005, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo