Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

coincé sur les repertoires ....

6 réponses
Avatar
Alfred WALLACE
Bonsoir
je tourne en boucle (si je puis dire ...)

dans une feuille nomm=E9e param=E9tres
j'aimerai que de sur la premier
ligne qui commence en A1 obtenir
la liste des r=E9pertoires du dossier en cours (ActiveWorkbook.Path)
Mais uniquement ceux dont le nom commence par "_"

dans un second temps, pour chaque r=E9pertoires,
dans la colonne correspondante, mais =E0 partir
de la ligne 2, obtenir la liste des fichiers de ce r=E9pertoire
UNIQUEMENT si
dans le r=E9pertoire concern=E9, il existe un fichier nomm=E9
"maj.txt" (arbitrairement)

j'ai bien trouver des macros vba pour la liste des dossiers, de leur
contenu
ainsi que des sous dossier ... mais je n'arrive pas en extraire
les =E9l=E9ments pour avoir "uniquement" ma recherche.

Une =E2me =E9clair=E9e (et =E9clairante) passera-t-elle par ici ?

Merci
Jos=E9

6 réponses

Avatar
JB
Bonjour,


Sub ListeRep()
repertoire = "c:mesdoc"
[A:A].ClearContents
NomRep = Dir(repertoire, vbDirectory)
i = 2
Do While NomRep <> ""
If NomRep <> "." And NomRep <> ".." Then
If (GetAttr(repertoire & NomRep) And vbDirectory) =
vbDirectory Then
If Left(NomRep, 1) = "E" Then
temp = repertoire & "" & NomRep & "*.*"
nf = Dir(temp)
Do While nf <> ""
Cells(i, 1) = nf
i = i + 1
nf = Dir
Loop
Exit Sub
End If
End If
End If
NomRep = Dir
Loop
End Sub

JB
http://boisgontierjacques.free.fr

On 16 fév, 17:31, Alfred WALLACE wrote:
Bonsoir
je tourne en boucle (si je puis dire ...)

dans une feuille nommée paramétres
j'aimerai que de sur la premier
ligne qui commence en A1 obtenir
la liste des répertoires du dossier en cours (ActiveWorkbook.Path)
Mais uniquement ceux dont le nom commence par "_"

dans un second temps, pour chaque répertoires,
dans la colonne correspondante, mais à partir
de la ligne 2, obtenir la liste des fichiers de ce répertoire
UNIQUEMENT si
dans le répertoire concerné, il existe un fichier nommé
"maj.txt" (arbitrairement)

j'ai bien trouver des macros vba pour la liste des dossiers, de leur
contenu
ainsi que des sous dossier ... mais je n'arrive pas en extraire
les éléments pour avoir "uniquement" ma recherche.

Une âme éclairée (et éclairante) passera-t-elle par ici ?

Merci
José


Avatar
Alfred WALLACE
Bonjour JB et merci pour ton aide,
j'ai voulu adapter ton code à ce que je souhaite faire
mais, je pédale ....grave ....

grace à ton code, j'arrive à trouver les repertoires qui commencent
pas "_" OK.

Mais, pour chacun de ces repertoires j'aimerai mettre la liste des
fichiers qu'il contiend
exemple :

_rep1 _rep2 _repX
fic1 lolo toto
fic2 lulu titi
fic2 tutu


en fait, ton code s'arrete au contenu du premier repertoire, car (si
je comprend bien)
il y a un exit sub.

J'ai l'impression que l'on ne peut pas utiliser la fonction DIR dans
un repertoire, puis,
dans le sous-dossier concerné....

Merci pour ton aide.

José









JB a écrit :
Bonjour,


Sub ListeRep()
repertoire = "c:mesdoc"
[A:A].ClearContents
NomRep = Dir(repertoire, vbDirectory)
i = 2
Do While NomRep <> ""
If NomRep <> "." And NomRep <> ".." Then
If (GetAttr(repertoire & NomRep) And vbDirectory) =
vbDirectory Then
If Left(NomRep, 1) = "E" Then
temp = repertoire & "" & NomRep & "*.*"
nf = Dir(temp)
Do While nf <> ""
Cells(i, 1) = nf
i = i + 1
nf = Dir
Loop
Exit Sub
End If
End If
End If
NomRep = Dir
Loop
End Sub

JB
http://boisgontierjacques.free.fr

On 16 fév, 17:31, Alfred WALLACE wrote:
> Bonsoir
> je tourne en boucle (si je puis dire ...)
>
> dans une feuille nommée paramétres
> j'aimerai que de sur la premier
> ligne qui commence en A1 obtenir
> la liste des répertoires du dossier en cours (ActiveWorkbook.Path)
> Mais uniquement ceux dont le nom commence par "_"
>
> dans un second temps, pour chaque répertoires,
> dans la colonne correspondante, mais à partir
> de la ligne 2, obtenir la liste des fichiers de ce répertoire
> UNIQUEMENT si
> dans le répertoire concerné, il existe un fichier nommé
> "maj.txt" (arbitrairement)
>
> j'ai bien trouver des macros vba pour la liste des dossiers, de leur
> contenu
> ainsi que des sous dossier ... mais je n'arrive pas en extraire
> les éléments pour avoir "uniquement" ma recherche.
>
> Une âme éclairée (et éclairante) passera-t-elle par ici ?
>
> Merci
> José


Avatar
Mgr T. Banni
bonjour alfred
j'assure l'interim de JB
voici une proc de notre grand chef 4 plumes LL

Fichiers contenus dans le répertoire "C:Temp" (pour un autre

répertoire, modifie la propriété LookIn) :

Dim Arr, I As Long, NbFichiers As Long

With Application.FileSearch

.LookIn = "C:Temp"

.FileType = msoFileTypeExcelWorkbooks

.Execute

With .FoundFiles

NbFichiers = .Count

ReDim Arr(1 To NbFichiers)

For I = 1 To NbFichiers

Arr(I) = Dir(.Item(I))

Next I

End With

End With

With UserForm1.ComboBox1

.Clear

.List = Arr

.ListIndex = 1

End With

UserForm1.Show



HTH

Mgr T.B.

"Alfred WALLACE" a écrit dans le message de news:

Bonjour JB et merci pour ton aide,
j'ai voulu adapter ton code à ce que je souhaite faire
mais, je pédale ....grave ....

grace à ton code, j'arrive à trouver les repertoires qui commencent
pas "_" OK.

Mais, pour chacun de ces repertoires j'aimerai mettre la liste des
fichiers qu'il contiend
exemple :

_rep1 _rep2 _repX
fic1 lolo toto
fic2 lulu titi
fic2 tutu


en fait, ton code s'arrete au contenu du premier repertoire, car (si
je comprend bien)
il y a un exit sub.

J'ai l'impression que l'on ne peut pas utiliser la fonction DIR dans
un repertoire, puis,
dans le sous-dossier concerné....

Merci pour ton aide.

José









JB a écrit :
Bonjour,


Sub ListeRep()
repertoire = "c:mesdoc"
[A:A].ClearContents
NomRep = Dir(repertoire, vbDirectory)
i = 2
Do While NomRep <> ""
If NomRep <> "." And NomRep <> ".." Then
If (GetAttr(repertoire & NomRep) And vbDirectory) > vbDirectory Then
If Left(NomRep, 1) = "E" Then
temp = repertoire & "" & NomRep & "*.*"
nf = Dir(temp)
Do While nf <> ""
Cells(i, 1) = nf
i = i + 1
nf = Dir
Loop
Exit Sub
End If
End If
End If
NomRep = Dir
Loop
End Sub

JB
http://boisgontierjacques.free.fr

On 16 fév, 17:31, Alfred WALLACE wrote:
> Bonsoir
> je tourne en boucle (si je puis dire ...)
>
> dans une feuille nommée paramétres
> j'aimerai que de sur la premier
> ligne qui commence en A1 obtenir
> la liste des répertoires du dossier en cours (ActiveWorkbook.Path)
> Mais uniquement ceux dont le nom commence par "_"
>
> dans un second temps, pour chaque répertoires,
> dans la colonne correspondante, mais à partir
> de la ligne 2, obtenir la liste des fichiers de ce répertoire
> UNIQUEMENT si
> dans le répertoire concerné, il existe un fichier nommé
> "maj.txt" (arbitrairement)
>
> j'ai bien trouver des macros vba pour la liste des dossiers, de leur
> contenu
> ainsi que des sous dossier ... mais je n'arrive pas en extraire
> les éléments pour avoir "uniquement" ma recherche.
>
> Une âme éclairée (et éclairante) passera-t-elle par ici ?
>
> Merci
> José


Avatar
JB
Bonjour,

Sub ListeRep()
repertoire = "c:mesdoc"
[A:A].ClearContents
NomRep = Dir(repertoire, vbDirectory)
i = 2
col = 1
Do While NomRep <> ""
If NomRep <> "." And NomRep <> ".." Then
If (GetAttr(repertoire & NomRep) And vbDirectory) =
vbDirectory Then
If Left(NomRep, 1) = "E" Then
Cells(1, col) = NomRep
col = col + 1
End If
End If
End If
NomRep = Dir
Loop
For col = 1 To [IV1].End(xlToLeft).Column
temp = repertoire & "" & Cells(1, col) & "*.*"
nf = Dir(temp)
i = 2
Do While nf <> ""
Cells(i, col) = nf
i = i + 1
nf = Dir
Loop
Next col
End Sub

JB



On 18 fév, 15:06, Alfred WALLACE wrote:
Bonjour JB et merci pour ton aide,
j'ai voulu adapter ton code à ce que je souhaite faire
mais, je pédale ....grave ....

grace à ton code, j'arrive à trouver les repertoires qui commencent
pas "_" OK.

Mais, pour chacun de ces repertoires j'aimerai mettre la liste des
fichiers qu'il contiend
exemple :

_rep1    _rep2   _repX
fic1      lolo       toto
fic2      lulu       titi
fic2                  tutu

en fait, ton code s'arrete au contenu du premier repertoire, car (si
je comprend bien)
il y a un exit sub.

J'ai l'impression que l'on ne peut pas utiliser la fonction DIR dans
un repertoire, puis,
dans le sous-dossier concerné....

Merci pour ton aide.

José

JB a écrit :



> Bonjour,

> Sub ListeRep()
>   repertoire = "c:mesdoc"
>   [A:A].ClearContents
>   NomRep = Dir(repertoire, vbDirectory)
>   i = 2
>   Do While NomRep <> ""
>      If NomRep <> "." And NomRep <> ".." Then
>         If (GetAttr(repertoire & NomRep) And vbDirectory) =
> vbDirectory Then
>            If Left(NomRep, 1) = "E" Then
>               temp = repertoire & "" & NomRep & "*.*"
>               nf = Dir(temp)
>               Do While nf <> ""
>                 Cells(i, 1) = nf
>                 i = i + 1
>                 nf = Dir
>               Loop
>               Exit Sub
>            End If
>         End If
>      End If
>      NomRep = Dir
>   Loop
> End Sub

> JB
>http://boisgontierjacques.free.fr

> On 16 fév, 17:31, Alfred WALLACE wrote:
> > Bonsoir
> > je tourne en boucle (si je puis dire ...)

> > dans une feuille nommée paramétres
> > j'aimerai que de sur la premier
> > ligne qui commence en A1 obtenir
> > la liste des répertoires du dossier en cours (ActiveWorkbook.Path)
> > Mais uniquement ceux dont le nom commence par "_"

> > dans un second temps, pour chaque répertoires,
> > dans la colonne correspondante, mais à partir
> > de la ligne 2, obtenir la liste des fichiers de ce répertoire
> > UNIQUEMENT si
> > dans le répertoire concerné, il existe un fichier nommé
> > "maj.txt" (arbitrairement)

> > j'ai bien trouver des macros vba pour la liste des dossiers, de leur
> > contenu
> > ainsi que des sous dossier ... mais je n'arrive pas en extraire
> > les éléments pour avoir "uniquement" ma recherche.

> > Une âme éclairée (et éclairante) passera-t-elle par ici ?

> > Merci
> > José- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Alfred WALLACE
Bon, ben là .. je suis é poustouflé ! clap !!!! clap !!!!! clap !!!!!
clap !!!!!

Merci ton code fonctionne très bien
je mettrais juste repertoire = ActiveWorkbook.Path & "" pour qu'il
puisse fonctionner
dans un autre dossier principal.

Merci encore.

José


On 18 fév, 16:18, JB wrote:
Bonjour,

Sub ListeRep()
  repertoire = "c:mesdoc"
  [A:A].ClearContents
  NomRep = Dir(repertoire, vbDirectory)
  i = 2
  col = 1
  Do While NomRep <> ""
     If NomRep <> "." And NomRep <> ".." Then
        If (GetAttr(repertoire & NomRep) And vbDirectory) =
vbDirectory Then
           If Left(NomRep, 1) = "E" Then
            Cells(1, col) = NomRep
            col = col + 1
           End If
        End If
     End If
     NomRep = Dir
  Loop



  For col = 1 To [IV1].End(xlToLeft).Column
     temp = repertoire & "" & Cells(1, col) & "*.*"
     nf = Dir(temp)
     i = 2
     Do While nf <> ""
       Cells(i, col) = nf
       i = i + 1
       nf = Dir
     Loop
  Next col
End Sub

JB



Avatar
Alfred WALLACE
Merci pour ton code je vais regarder aussi comment il fonctionne
celuis de JB me convient mais, comme je suis curieux je vais regarder
aussi le tiens.

Merci

José

On 18 fév, 15:43, "Mgr T. Banni" wrote:
bonjour alfred
j'assure l'interim de JB
voici une proc de notre grand chef 4 plumes LL

Fichiers contenus dans le répertoire "C:Temp" (pour un autre

répertoire, modifie la propriété LookIn) :

Dim Arr, I As Long, NbFichiers As Long

With Application.FileSearch

.LookIn = "C:Temp"

.FileType = msoFileTypeExcelWorkbooks

.Execute

With .FoundFiles

NbFichiers = .Count

ReDim Arr(1 To NbFichiers)

For I = 1 To NbFichiers

Arr(I) = Dir(.Item(I))

Next I

End With

End With

With UserForm1.ComboBox1

.Clear

.List = Arr

.ListIndex = 1

End With

UserForm1.Show

HTH

Mgr T.B.

"Alfred WALLACE" a écrit dans le message de news:

Bonjour JB et merci pour ton aide,
j'ai voulu adapter ton code à ce que je souhaite faire
mais, je pédale ....grave ....

grace à ton code, j'arrive à trouver les repertoires qui commencent
pas "_" OK.

Mais, pour chacun de ces repertoires j'aimerai mettre la liste des
fichiers qu'il contiend
exemple :

_rep1    _rep2   _repX
fic1      lolo       toto
fic2      lulu       titi
fic2                  tutu

en fait, ton code s'arrete au contenu du premier repertoire, car (si
je comprend bien)
il y a un exit sub.

J'ai l'impression que l'on ne peut pas utiliser la fonction DIR dans
un repertoire, puis,
dans le sous-dossier concerné....

Merci pour ton aide.

José

JB a écrit :

> Bonjour,

> Sub ListeRep()
>   repertoire = "c:mesdoc"
>   [A:A].ClearContents
>   NomRep = Dir(repertoire, vbDirectory)
>   i = 2
>   Do While NomRep <> ""
>      If NomRep <> "." And NomRep <> ".." Then
>         If (GetAttr(repertoire & NomRep) And vbDirectory) =
> vbDirectory Then
>            If Left(NomRep, 1) = "E" Then
>               temp = repertoire & "" & NomRep & "*.*"
>               nf = Dir(temp)
>               Do While nf <> ""
>                 Cells(i, 1) = nf
>                 i = i + 1
>                 nf = Dir
>               Loop
>               Exit Sub
>            End If
>         End If
>      End If
>      NomRep = Dir
>   Loop
> End Sub

> JB
>http://boisgontierjacques.free.fr

> On 16 fév, 17:31, Alfred WALLACE wrote:
> > Bonsoir
> > je tourne en boucle (si je puis dire ...)

> > dans une feuille nommée paramétres
> > j'aimerai que de sur la premier
> > ligne qui commence en A1 obtenir
> > la liste des répertoires du dossier en cours (ActiveWorkbook.Path)
> > Mais uniquement ceux dont le nom commence par "_"

> > dans un second temps, pour chaque répertoires,
> > dans la colonne correspondante, mais à partir
> > de la ligne 2, obtenir la liste des fichiers de ce répertoire
> > UNIQUEMENT si
> > dans le répertoire concerné, il existe un fichier nommé
> > "maj.txt" (arbitrairement)

> > j'ai bien trouver des macros vba pour la liste des dossiers, de leur
> > contenu
> > ainsi que des sous dossier ... mais je n'arrive pas en extraire
> > les éléments pour avoir "uniquement" ma recherche.

> > Une âme éclairée (et éclairante) passera-t-elle par ici ?

> > Merci
> > José