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 :

liste de fichier d'un repertoire commencant par.. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut liste de fichier d'un repertoire commencant par..
    Bonjour,

    Je suis un peu novice et je cherche a repertorier les fichier commencant par les lettres ( cd ) situé dans un repertoire. j 'ai reussi a lister les fichier d'un repertoire mais il me manque la contrainte du nom de fichier commencant par cd.

    J' espere que je me fait comprendre .

    Je vous joint mon fichier...

    SVP help me !!!
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    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
            Application.ScreenUpdating = False
            For Each F In Fich
                If Left(F.Name, 2) = "cd" Then
                    'vérification si existe déjà
                     For i = Lig To DerLig
                         If .Cells(i, Col) = F.Name Then Exit For
                     Next i
                     If i > DerLig Then 'existe pas et l'ajoute
                        TB = Split(F.Name, ".")
                        .Cells(LigEcrire, Col).Select
                        .Hyperlinks.Add Anchor:=Selection, Address:= _
                           Rep & F.Name, TextToDisplay:=TB(0)
                         LigEcrire = LigEcrire + 1
                    End If
                End If
            Next

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    ca marche impeccable merci beaucoup !!

    Par contre j 'aimerais maintenant que ça me trouve les fichiers commencant par cd mais qui se trouve dans des sous dossiers... Vous pouvez m'aider ?

    En faite il faudrait que sa parcours l'arborescence d'un dossier et repertorie les fichiers commencant par dc se trouvant aussi bien a la racine que dans les sous dossier

    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Remplace la macro "MAJRepertoire" par :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Explicit
     
    'Rep : le répertoire à traiter contenant le chemin complet
    'Cel : la 1èr cellule où écrire
    Public Lig As Long, Col As Long, DerLig As Long, i As Long, F As Object, P As Worksheet
    Public LigEcrire As Long, NbFichier As Long
    Sub Lit_dossier(ByRef dossier)
        Dim TB, d As Object
        With P
        For Each F In dossier.Files
            If Left(F.Name, 2) = "cd" Then
                'vérification si existe déjà
                 For i = Lig To DerLig
                     If .Cells(i, Col) = F.Name Then Exit For
                 Next i
                 If i > DerLig Then 'existe pas et l'ajoute
                    TB = Split(F.Name, ".")
                    .Cells(LigEcrire, Col).Select
                    .Hyperlinks.Add Anchor:=Selection, Address:= _
                       dossier.Path & F.Name, TextToDisplay:=TB(0)
                     LigEcrire = LigEcrire + 1
                End If
            End If
        Next
        End With
       For Each d In dossier.SubFolders
         Lit_dossier d
       Next
    End Sub
    Sub MAJRepertoire(Rep As String, Cel As Range)
        Dim Obj As Object, RepP As Object
        Application.ScreenUpdating = False
        Set P = Cel.Parent 'Certifier la feuille où écrire
        P.Activate
        Lig = Cel.Row: Col = Cel.Column
        With P
            DerLig = .Cells(.Rows.Count, Col).End(xlUp).Row
     
            If DerLig <= Lig Then
                'Au cas ou la 1ère ligne ne serait pas à 1 et que le fichier est vide
                DerLig = Lig - 1: LigEcrire = Lig
            Else
                'Le fichier n'est pas vide, initialise la 1ère ligne où ajouter
                LigEcrire = DerLig + 1
            End If
     
            If Right(Rep, 1) <> "\" Then Rep = Rep & "\"
            Set Obj = CreateObject("Scripting.FileSystemObject")
            Set RepP = Obj.getfolder(Rep)
            Lit_dossier RepP
            'Set Fich = RepP.Files
        End With
     
    End Sub

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Oups.

    Remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    .Hyperlinks.Add Anchor:=Selection, Address:= _
                       dossier.Path & F.Name, TextToDisplay:=TB(0)

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    .Hyperlinks.Add Anchor:=Selection, Address:= _
                       F.path, TextToDisplay:=TB(0)

  6. #6
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    Merci beaucoup pour votre rapidité c'est exactement ce que je voulais .

    Merci

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

Discussions similaires

  1. liste de fichier d'un repertoire
    Par crazykangourou dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 05/11/2007, 11h12
  2. Réponses: 6
    Dernier message: 06/01/2007, 17h30
  3. Accéder à la liste des elements avec un ID commencant par x
    Par vodnok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/12/2006, 12h11
  4. Recherche de fichiers dont le nom commence par..
    Par ValyGator dans le forum C++
    Réponses: 4
    Dernier message: 22/05/2006, 00h08
  5. [VBS] Liste de fichiers sur un repertoire
    Par sebos63 dans le forum VBScript
    Réponses: 3
    Dernier message: 08/02/2006, 18h13

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