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

REPERTOIRE

25 réponses
Avatar
STEPH B
Bonjour,

J ai un repertoire sous la forme
"s:\facture 2009\
dans lekel il y a 4 sous repertoires de noms differents... dans leskels il y
a une multitude de repertoires qui contiennent un fichiers excel .xls

j'aimerais si possible qu'une macro me fasse un listing de tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouillé sur le net j'ai trouvé kelkes codes mais il ne marchent pas.

5 réponses

1 2 3
Avatar
STEPH B
Bonjour,

Encore une fois merci de l'interet DANIEL

mais le code ne marche pas.. ou alors y a un truc pas bon....
en fait c est sur la liste des repertoires.... lorsque tu balaie les
repertoire il faut qu'il s 'arrete ou se trouve le fichiers xls.
car exemple...

j'ai un truc du type
facture 2010 et en sous repertoire je vais facture 2010xxxx.xls
mais aussi facture 2010yyyy*.doc
avec yyyy qui correspond a 4 ou 5 sous repertoires qui sont balayer alors
qu'ils ne devraient pas..

en fait il faut qu'il s'arrete de balayer chaque repertoire a partir du
moment ou celui ci commence par 4 chiffres et qu'il contient un fichier xls.

merci


"Daniel.C" a écrit dans le message de news:
%
Il faut modifier :
Set dossier_racine = fso.getfolder("e:donnees")
et mettre :
Set dossier_racine = fso.getfolder("s:")
Pour travailler dans ton environnement.
Daniel

Mets ce code au début d'un module :

Public Ligne As Long, Sh As Worksheet
Sub ListeDossiers()
Dim c As Range
Set Sh = ActiveSheet
Sheets.Add
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("e:donnees")
Lit_dossier1 dossier_racine
Lit_dossier2
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier)
Ligne = Ligne + 1
Cells(Ligne, 1) = dossier.Path
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub
Sub Lit_dossier2()
Dim x As Range
With Sh
For Each c In Range(.[A1], .[A65536].End(xlUp))
Set x = [A:A].Find(c.Value, , xlValues, xlPart)
Var = [A134]
If Not x Is Nothing Then
.Hyperlinks.Add .Cells(c.Row, "AD"), _
x.Value, TextToDisplay:=x.Value
End If
Next c
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Daniel

Je vais essayer de faire plus rapide?
Daniel

Essaie le code suivant (qui risque d'être long, si le nombre de
dossiers est important) :

Sub ListeDossiers()
Dim c As Range
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("s:")
For Each c In Range([A1], [A65536].End(xlUp))
Lit_dossier1 dossier_racine, c
Next c
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier, c)
Var = Application.Search(c.Value, dossier.Name)
If IsNumeric(Var) Then
ActiveSheet.Hyperlinks.Add Cells(c.Row, "AD"), dossier.Path, _
TextToDisplay:=dossier.Name
End If
For Each d In dossier.SubFolders
Lit_dossier1 d, c
Next
End Sub

Daniel

OUI C EST MON DERNIER MOT DANIEL !!!!!
NON qu'une seule occurence....
meci de ton interet à ce projet.


"Daniel.C" a écrit dans le message de news:

C'est ton dernier mot ?
Question préalable :
Est-ce que tu peux avoir plusieurs dossiers "5555 yyyyy", par exemple
dans "facture xxxxx1" et "facture xxxxx2" ?
Daniel

ALORS EN FAIT...

mon cerveau est ramoli car je ne sais meme plus ce que je cherche...

donc je recommence en colonne A j'ai des chiffres qui represente des
numéros de factures qui ne sont pas dans le bon ordre.

je voudrais qu'en AD me reprenne le lien hypertexte qui m ouvre le
repertoire ou se trouve ce numéro de facture

exemple:
A1 5555 AD1=s:facture xxxxx5555 yyyyy.
losque je click en AD1 il m ouvre le repertoire

xxxxx nom variable du repertoire
yyyyy nom variable du repertoire

et ceci tant que A(i) <> ""

merci là je tiens le bon algorithm je crois...


merci d'avance



"STEPH B" a écrit dans le message de news:
4bbddd96$0$2989$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture de
5000 à
infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se
trouve le fichiers excel portant le nom "s:facture 2010nom du
sous
repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture
ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news:
%23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence que
par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message de
news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne marchent
pas..
..il arrive juste parfois que certains parviennent quand même à
les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.
















"STEPH B" a écrit dans le message de news:
4bbdd930$0$2961$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture
de 5000 à infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se trouve le fichiers excel portant le nom "s:facture 2010nom
du sous repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news: %23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence
que par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message de
news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne
marchent pas..
..il arrive juste parfois que certains parviennent quand même
à les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.




























Avatar
Daniel.C
Bonjour.
Mon code fait ce que tu lui as demandé :
sic:
A1 5555 AD1=s:facture xxxxx5555 yyyyy
Le nouvel énoncé complique le boulot à faire.
1. Est-ce qu'on peut admettre que le fichier xls se trouve dans le
dossier yyyy2010 ?
2. Est-ce qu'on peut admettre que le fichier xls se trouve dans le
dossier facture 2010 ?
Je suis dans l'attente de ta réponse.
Daniel


Bonjour,

Encore une fois merci de l'interet DANIEL

mais le code ne marche pas.. ou alors y a un truc pas bon....
en fait c est sur la liste des repertoires.... lorsque tu balaie les
repertoire il faut qu'il s 'arrete ou se trouve le fichiers xls.
car exemple...

j'ai un truc du type
facture 2010 et en sous repertoire je vais facture 2010xxxx.xls
mais aussi facture 2010yyyy*.doc
avec yyyy qui correspond a 4 ou 5 sous repertoires qui sont balayer alors
qu'ils ne devraient pas..

en fait il faut qu'il s'arrete de balayer chaque repertoire a partir du
moment ou celui ci commence par 4 chiffres et qu'il contient un fichier xls.

merci


"Daniel.C" a écrit dans le message de news:
%
Il faut modifier :
Set dossier_racine = fso.getfolder("e:donnees")
et mettre :
Set dossier_racine = fso.getfolder("s:")
Pour travailler dans ton environnement.
Daniel

Mets ce code au début d'un module :

Public Ligne As Long, Sh As Worksheet
Sub ListeDossiers()
Dim c As Range
Set Sh = ActiveSheet
Sheets.Add
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("e:donnees")
Lit_dossier1 dossier_racine
Lit_dossier2
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier)
Ligne = Ligne + 1
Cells(Ligne, 1) = dossier.Path
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub
Sub Lit_dossier2()
Dim x As Range
With Sh
For Each c In Range(.[A1], .[A65536].End(xlUp))
Set x = [A:A].Find(c.Value, , xlValues, xlPart)
Var = [A134]
If Not x Is Nothing Then
.Hyperlinks.Add .Cells(c.Row, "AD"), _
x.Value, TextToDisplay:=x.Value
End If
Next c
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Daniel

Je vais essayer de faire plus rapide?
Daniel

Essaie le code suivant (qui risque d'être long, si le nombre de dossiers
est important) :

Sub ListeDossiers()
Dim c As Range
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("s:")
For Each c In Range([A1], [A65536].End(xlUp))
Lit_dossier1 dossier_racine, c
Next c
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier, c)
Var = Application.Search(c.Value, dossier.Name)
If IsNumeric(Var) Then
ActiveSheet.Hyperlinks.Add Cells(c.Row, "AD"), dossier.Path, _
TextToDisplay:=dossier.Name
End If
For Each d In dossier.SubFolders
Lit_dossier1 d, c
Next
End Sub

Daniel

OUI C EST MON DERNIER MOT DANIEL !!!!!
NON qu'une seule occurence....
meci de ton interet à ce projet.


"Daniel.C" a écrit dans le message de news:

C'est ton dernier mot ?
Question préalable :
Est-ce que tu peux avoir plusieurs dossiers "5555 yyyyy", par exemple
dans "facture xxxxx1" et "facture xxxxx2" ?
Daniel

ALORS EN FAIT...

mon cerveau est ramoli car je ne sais meme plus ce que je cherche...

donc je recommence en colonne A j'ai des chiffres qui represente des
numéros de factures qui ne sont pas dans le bon ordre.

je voudrais qu'en AD me reprenne le lien hypertexte qui m ouvre le
repertoire ou se trouve ce numéro de facture

exemple:
A1 5555 AD1=s:facture xxxxx5555 yyyyy.
losque je click en AD1 il m ouvre le repertoire

xxxxx nom variable du repertoire
yyyyy nom variable du repertoire

et ceci tant que A(i) <> ""

merci là je tiens le bon algorithm je crois...


merci d'avance



"STEPH B" a écrit dans le message de news:
4bbddd96$0$2989$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture de
5000 à
infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire ou
se
trouve le fichiers excel portant le nom "s:facture 2010nom du sous
repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros de
facture
ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news:
%23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence que
par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message de
news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne marchent
pas..
..il arrive juste parfois que certains parviennent quand même à
les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents... dans
leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de tous
les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.
















"STEPH B" a écrit dans le message de news:
4bbdd930$0$2961$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture de
5000 à infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se trouve le fichiers excel portant le nom "s:facture 2010nom
du sous repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news: %23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence que
par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message de
news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne marchent
pas..
..il arrive juste parfois que certains parviennent quand même à
les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.




























Avatar
STEPH B
le vrai chemin serait

s:facture 2010yyyy5555 xxxxx

yyyy = 1er trim ou 2eme trim ou 3eme trim ou 4eme trim

merci encore pour tout

"Daniel.C" a écrit dans le message de news:

Bonjour.
Mon code fait ce que tu lui as demandé :
sic:
A1 5555 AD1=s:facture xxxxx5555 yyyyy
Le nouvel énoncé complique le boulot à faire.
1. Est-ce qu'on peut admettre que le fichier xls se trouve dans le dossier
yyyy2010 ?
2. Est-ce qu'on peut admettre que le fichier xls se trouve dans le dossier
facture 2010 ?
Je suis dans l'attente de ta réponse.
Daniel


Bonjour,

Encore une fois merci de l'interet DANIEL

mais le code ne marche pas.. ou alors y a un truc pas bon....
en fait c est sur la liste des repertoires.... lorsque tu balaie les
repertoire il faut qu'il s 'arrete ou se trouve le fichiers xls.
car exemple...

j'ai un truc du type
facture 2010 et en sous repertoire je vais facture 2010xxxx.xls
mais aussi facture 2010yyyy*.doc
avec yyyy qui correspond a 4 ou 5 sous repertoires qui sont balayer alors
qu'ils ne devraient pas..

en fait il faut qu'il s'arrete de balayer chaque repertoire a partir du
moment ou celui ci commence par 4 chiffres et qu'il contient un fichier
xls.

merci


"Daniel.C" a écrit dans le message de news:
%
Il faut modifier :
Set dossier_racine = fso.getfolder("e:donnees")
et mettre :
Set dossier_racine = fso.getfolder("s:")
Pour travailler dans ton environnement.
Daniel

Mets ce code au début d'un module :

Public Ligne As Long, Sh As Worksheet
Sub ListeDossiers()
Dim c As Range
Set Sh = ActiveSheet
Sheets.Add
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("e:donnees")
Lit_dossier1 dossier_racine
Lit_dossier2
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier)
Ligne = Ligne + 1
Cells(Ligne, 1) = dossier.Path
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub
Sub Lit_dossier2()
Dim x As Range
With Sh
For Each c In Range(.[A1], .[A65536].End(xlUp))
Set x = [A:A].Find(c.Value, , xlValues, xlPart)
Var = [A134]
If Not x Is Nothing Then
.Hyperlinks.Add .Cells(c.Row, "AD"), _
x.Value, TextToDisplay:=x.Value
End If
Next c
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Daniel

Je vais essayer de faire plus rapide?
Daniel

Essaie le code suivant (qui risque d'être long, si le nombre de
dossiers est important) :

Sub ListeDossiers()
Dim c As Range
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("s:")
For Each c In Range([A1], [A65536].End(xlUp))
Lit_dossier1 dossier_racine, c
Next c
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier, c)
Var = Application.Search(c.Value, dossier.Name)
If IsNumeric(Var) Then
ActiveSheet.Hyperlinks.Add Cells(c.Row, "AD"), dossier.Path,
_
TextToDisplay:=dossier.Name
End If
For Each d In dossier.SubFolders
Lit_dossier1 d, c
Next
End Sub

Daniel

OUI C EST MON DERNIER MOT DANIEL !!!!!
NON qu'une seule occurence....
meci de ton interet à ce projet.


"Daniel.C" a écrit dans le message de
news:
C'est ton dernier mot ?
Question préalable :
Est-ce que tu peux avoir plusieurs dossiers "5555 yyyyy", par
exemple dans "facture xxxxx1" et "facture xxxxx2" ?
Daniel

ALORS EN FAIT...

mon cerveau est ramoli car je ne sais meme plus ce que je
cherche...

donc je recommence en colonne A j'ai des chiffres qui represente
des numéros de factures qui ne sont pas dans le bon ordre.

je voudrais qu'en AD me reprenne le lien hypertexte qui m ouvre le
repertoire ou se trouve ce numéro de facture

exemple:
A1 5555 AD1=s:facture xxxxx5555 yyyyy.
losque je click en AD1 il m ouvre le repertoire

xxxxx nom variable du repertoire
yyyyy nom variable du repertoire

et ceci tant que A(i) <> ""

merci là je tiens le bon algorithm je crois...


merci d'avance



"STEPH B" a écrit dans le message de news:
4bbddd96$0$2989$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture
de 5000 à
infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se
trouve le fichiers excel portant le nom "s:facture 2010nom du
sous
repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture
ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news:
%23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence
que par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message
de news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne
marchent pas..
..il arrive juste parfois que certains parviennent quand même
à les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait
Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.
















"STEPH B" a écrit dans le message de news:
4bbdd930$0$2961$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture
de 5000 à infini par exemple

dans un repertoire et dans des sous repertoires j ai les
fichiers excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le
repertoire ou se trouve le fichiers excel portant le nom
"s:facture 2010nom du sous repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les
numéros de facture ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news: %23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence
que par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message
de news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne
marchent pas..
..il arrive juste parfois que certains parviennent quand
même à les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait
Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.


































Avatar
STEPH B
et j ai teste ton code mais j ai un debogage là

For Each c In Range(.[A1], .[A65536].End(xlUp))
dans lit dossier 2


"STEPH B" a écrit dans le message de news:
4bbb3b94$0$28936$
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents... dans leskels il
y a une multitude de repertoires qui contiennent un fichiers excel .xls

j'aimerais si possible qu'une macro me fasse un listing de tous les
fichiers excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouillé sur le net j'ai trouvé kelkes codes mais il ne marchent pas.

Avatar
Daniel.C
Change (le problème est que je ne peux pas tester) :

Sub Lit_dossier1(ByRef dossier)
If LCase(Left(dossier.Path, 10)) = "s:facture" Then
Ligne = Ligne + 1
Cells(Ligne, 1) = dossier.Path
End If
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub
Sub Lit_dossier2()
Dim x As Range
With Sh
For Each c In Range(.[A1], .[A65536].End(xlUp))
Set x = [A:A].Find("s:facture ????????" & c.Value & _
" ?????", , xlValues, xlWhole)
If Not x Is Nothing Then
.Hyperlinks.Add .Cells(c.Row, "AD"), _
x.Value, TextToDisplay:=x.Value
End If
Next c
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Daniel

le vrai chemin serait

s:facture 2010yyyy5555 xxxxx

yyyy = 1er trim ou 2eme trim ou 3eme trim ou 4eme trim

merci encore pour tout

"Daniel.C" a écrit dans le message de news:

Bonjour.
Mon code fait ce que tu lui as demandé :
sic:
A1 5555 AD1=s:facture xxxxx5555 yyyyy
Le nouvel énoncé complique le boulot à faire.
1. Est-ce qu'on peut admettre que le fichier xls se trouve dans le dossier
yyyy2010 ?
2. Est-ce qu'on peut admettre que le fichier xls se trouve dans le dossier
facture 2010 ?
Je suis dans l'attente de ta réponse.
Daniel


Bonjour,

Encore une fois merci de l'interet DANIEL

mais le code ne marche pas.. ou alors y a un truc pas bon....
en fait c est sur la liste des repertoires.... lorsque tu balaie les
repertoire il faut qu'il s 'arrete ou se trouve le fichiers xls.
car exemple...

j'ai un truc du type
facture 2010 et en sous repertoire je vais facture 2010xxxx.xls
mais aussi facture 2010yyyy*.doc
avec yyyy qui correspond a 4 ou 5 sous repertoires qui sont balayer alors
qu'ils ne devraient pas..

en fait il faut qu'il s'arrete de balayer chaque repertoire a partir du
moment ou celui ci commence par 4 chiffres et qu'il contient un fichier
xls.

merci


"Daniel.C" a écrit dans le message de news:
%
Il faut modifier :
Set dossier_racine = fso.getfolder("e:donnees")
et mettre :
Set dossier_racine = fso.getfolder("s:")
Pour travailler dans ton environnement.
Daniel

Mets ce code au début d'un module :

Public Ligne As Long, Sh As Worksheet
Sub ListeDossiers()
Dim c As Range
Set Sh = ActiveSheet
Sheets.Add
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("e:donnees")
Lit_dossier1 dossier_racine
Lit_dossier2
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier)
Ligne = Ligne + 1
Cells(Ligne, 1) = dossier.Path
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub
Sub Lit_dossier2()
Dim x As Range
With Sh
For Each c In Range(.[A1], .[A65536].End(xlUp))
Set x = [A:A].Find(c.Value, , xlValues, xlPart)
Var = [A134]
If Not x Is Nothing Then
.Hyperlinks.Add .Cells(c.Row, "AD"), _
x.Value, TextToDisplay:=x.Value
End If
Next c
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Daniel

Je vais essayer de faire plus rapide?
Daniel

Essaie le code suivant (qui risque d'être long, si le nombre de
dossiers est important) :

Sub ListeDossiers()
Dim c As Range
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
'Set dossier_racine = fso.getfolder("D:Copie")
Set dossier_racine = fso.getfolder("s:")
For Each c In Range([A1], [A65536].End(xlUp))
Lit_dossier1 dossier_racine, c
Next c
Application.ScreenUpdating = True
End Sub
Sub Lit_dossier1(ByRef dossier, c)
Var = Application.Search(c.Value, dossier.Name)
If IsNumeric(Var) Then
ActiveSheet.Hyperlinks.Add Cells(c.Row, "AD"), dossier.Path, _
TextToDisplay:=dossier.Name
End If
For Each d In dossier.SubFolders
Lit_dossier1 d, c
Next
End Sub

Daniel

OUI C EST MON DERNIER MOT DANIEL !!!!!
NON qu'une seule occurence....
meci de ton interet à ce projet.


"Daniel.C" a écrit dans le message de
news:
C'est ton dernier mot ?
Question préalable :
Est-ce que tu peux avoir plusieurs dossiers "5555 yyyyy", par
exemple dans "facture xxxxx1" et "facture xxxxx2" ?
Daniel

ALORS EN FAIT...

mon cerveau est ramoli car je ne sais meme plus ce que je
cherche...

donc je recommence en colonne A j'ai des chiffres qui represente
des numéros de factures qui ne sont pas dans le bon ordre.

je voudrais qu'en AD me reprenne le lien hypertexte qui m ouvre le
repertoire ou se trouve ce numéro de facture

exemple:
A1 5555 AD1=s:facture xxxxx5555 yyyyy.
losque je click en AD1 il m ouvre le repertoire

xxxxx nom variable du repertoire
yyyyy nom variable du repertoire

et ceci tant que A(i) <> ""

merci là je tiens le bon algorithm je crois...


merci d'avance



"STEPH B" a écrit dans le message de news:
4bbddd96$0$2989$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture
de 5000 à
infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se
trouve le fichiers excel portant le nom "s:facture 2010nom du
sous
repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture
ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news:
%23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence
que par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message de
news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne
marchent pas..
..il arrive juste parfois que certains parviennent quand même
à les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.
















"STEPH B" a écrit dans le message de news:
4bbdd930$0$2961$
merci daniel encore fois BRAVO

ton truc marche nikel

mais en fait c est mon cerveau qui marche pas.....

alors je m explike dans la colonne A j ai des numéros de facture
de 5000 à infini par exemple

dans un repertoire et dans des sous repertoires j ai les fichiers
excel

prenons par exemple la facture 5000

en A2 j'ai 5000

en cellule AD2 je devrais un lien hypertext ouvrant le repertoire
ou se trouve le fichiers excel portant le nom "s:facture
2010nom du sous repertoire(qui varie)5000*.xls

(*) égal texte variable.

aussi petite complication 'forcément sinon pas drole) les numéros
de facture ne se suivent pas.

merci d avance et encore merci pour le précédent code.

"Daniel.C" a écrit dans le message de
news: %23%
Remplace la macro Lit_dossier1 par celle-ci :

Sub Lit_dossier1(ByRef dossier)
For Each f In dossier.Files
If LCase(Right(f.Name, 4)) = ".xls" And
IsNumeric(Left(f.Name, 4)) Then
Ligne = Ligne + 1
Cells(Ligne, 1) = f.Path
End If
Next
For Each d In dossier.SubFolders
Lit_dossier1 d
Next
End Sub

Daniel


je voudrais savoir avec ton code que tu m a propose qui marche
super bien..

si on pouvait n'avoir que le listing des fichiers dans les
répertoires avec extension ". xls" et donc le nom ne commence
que par un nombre de 4 chiffres?

exemple:

lechemin:5555 xxxxxxxxx yyyyyyyyyy zzzzzzzzzz . XLS


"Daniel.C" a écrit dans le message
de news: erW$
Bonjour LSteph.
Ca ne nous rajeunit pas ;-)
DOS pas mort, toujours au coeur de Windows 7 !
Cordialement.
Daniel

Bonjour,

C'est bien connu d'ailleurs: les codes sur internet ne
marchent pas..
..il arrive juste parfois que certains parviennent quand même
à les
utiliser,
sinon on les aurait banni depuis longtemps, comme dirait
Mgr..

Démarrer Executer cmd
..Entrée

dir s:*.xls/b/s>c:monlisting.txt

Entrée et attendre que ca se termine
exit

de retour dans excel Fichier ouvrir
choisir dans type Fichiers texte
c:monlisting.txt
Ok
Terminer

--
LSteph


On 6 avr, 15:48, "STEPH B" wrote:
Bonjour,

J ai un repertoire sous la forme
"s:facture 2009
dans lekel il y a 4 sous repertoires de noms differents...
dans leskels il y
a une multitude de repertoires qui contiennent un fichiers
excel .xls

j'aimerais si possible qu'une macro me fasse un listing de
tous les fichiers
excel de ses sous sous repertoires!

est ce possible?

Merci d'avance.

j'ai fouill sur le net j'ai trouv kelkes codes mais il ne
marchent pas.


































1 2 3