Bonsoir,
Voila, je vous pose mon problème : je gère un Intranet.
Lorsque j'ajoute de la documentation , je crée un lien Hypetexte pour
chacun des ces documents (Word, Excek, PDF...) ce qui prend énormément de
temps. Sous Excel, j'aimerai que celui-ci 'Liste l'ensemble des fichiers
contenus dans un répertoire spécifique (en utilisant un bouton de
commande) et qu'il dresse une liste classée par ordre alpha (date
d'enregistrement du document, taille, date de sa derniere
consultation...). Je veux que l'utilisateur puisse lire le fichier désirez
en cliquant alors sur ce lien hypertexte.
J'ai trouvé des appli Excel qui font cela mais je veux limiter le listage
des dossiers à des répertoires spécifiques : ex k:Dossier ComptaClients
Je vous remercie d'avance pour votre aide et pour le temps que vous
consacrez à aider les autres
BlackStorm
Bonsoir,
Voila, je vous pose mon problème : je gère un Intranet.
Lorsque j'ajoute de la documentation , je crée un lien Hypetexte pour
chacun des ces documents (Word, Excek, PDF...) ce qui prend énormément de
temps. Sous Excel, j'aimerai que celui-ci 'Liste l'ensemble des fichiers
contenus dans un répertoire spécifique (en utilisant un bouton de
commande) et qu'il dresse une liste classée par ordre alpha (date
d'enregistrement du document, taille, date de sa derniere
consultation...). Je veux que l'utilisateur puisse lire le fichier désirez
en cliquant alors sur ce lien hypertexte.
J'ai trouvé des appli Excel qui font cela mais je veux limiter le listage
des dossiers à des répertoires spécifiques : ex k:Dossier ComptaClients
Je vous remercie d'avance pour votre aide et pour le temps que vous
consacrez à aider les autres
BlackStorm
Bonsoir,
Voila, je vous pose mon problème : je gère un Intranet.
Lorsque j'ajoute de la documentation , je crée un lien Hypetexte pour
chacun des ces documents (Word, Excek, PDF...) ce qui prend énormément de
temps. Sous Excel, j'aimerai que celui-ci 'Liste l'ensemble des fichiers
contenus dans un répertoire spécifique (en utilisant un bouton de
commande) et qu'il dresse une liste classée par ordre alpha (date
d'enregistrement du document, taille, date de sa derniere
consultation...). Je veux que l'utilisateur puisse lire le fichier désirez
en cliquant alors sur ce lien hypertexte.
J'ai trouvé des appli Excel qui font cela mais je veux limiter le listage
des dossiers à des répertoires spécifiques : ex k:Dossier ComptaClients
Je vous remercie d'avance pour votre aide et pour le temps que vous
consacrez à aider les autres
BlackStorm
Encore un grand merci à vous tous !!
N'étant pas un grand spécialiste d'Excel, j'ai peur d'être un peu stupide,
mais Michel Pierron, je colle ou le module (est-il indépendant ? ou se
rajoute-il aux lignes de codes ?)
Sub Listing()
Const Folder$ = "k:DossierComptaClients"
If Dir(Folder, vbDirectory) = "" Then Exit Sub
Dim Headers(5), x%, y&, i&, p$, n$, oFile As Object
Dim objShell As Object, oFolder As Object
Set objShell = CreateObject("Shell.Application")
Set oFolder = objShell.Namespace(CStr(Folder))
Application.ScreenUpdating = False
Workbooks.Add
For i = 0 To 5
Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Select Case i
Case 0 To 1, 3 To 5: x = x + 1: Cells(1, x) = Headers(i)
End Select
Next
y = 1
For Each oFile In oFolder.Items
p = oFile.Path: n = oFile.Name
Select Case Right$(n, 4)
Case ".xls", ".doc", ".pdf"
x = 0: y = y + 1
For i = 0 To 5
Select Case i
Case 0 To 1, 3 To 5
x = x + 1
Cells(y, x) = oFolder.GetDetailsOf(oFile, i)
With ActiveSheet
.Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n
End With
End Select
Next
End Select
Next
Range("A2").Select
ActiveWindow.FreezePanes = True
Rows("1:1").Font.Bold = True
Cells.Columns.AutoFit
Columns("B:E").HorizontalAlignment = xlCenter
Range("A1").Select
Set oFolder = Nothing: Set objShell = Nothing
End Sub
Private Function Hlink(p As String) As String
Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/")
End Function
Encore un grand merci à vous tous !!
N'étant pas un grand spécialiste d'Excel, j'ai peur d'être un peu stupide,
mais Michel Pierron, je colle ou le module (est-il indépendant ? ou se
rajoute-il aux lignes de codes ?)
Sub Listing()
Const Folder$ = "k:DossierComptaClients"
If Dir(Folder, vbDirectory) = "" Then Exit Sub
Dim Headers(5), x%, y&, i&, p$, n$, oFile As Object
Dim objShell As Object, oFolder As Object
Set objShell = CreateObject("Shell.Application")
Set oFolder = objShell.Namespace(CStr(Folder))
Application.ScreenUpdating = False
Workbooks.Add
For i = 0 To 5
Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Select Case i
Case 0 To 1, 3 To 5: x = x + 1: Cells(1, x) = Headers(i)
End Select
Next
y = 1
For Each oFile In oFolder.Items
p = oFile.Path: n = oFile.Name
Select Case Right$(n, 4)
Case ".xls", ".doc", ".pdf"
x = 0: y = y + 1
For i = 0 To 5
Select Case i
Case 0 To 1, 3 To 5
x = x + 1
Cells(y, x) = oFolder.GetDetailsOf(oFile, i)
With ActiveSheet
.Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n
End With
End Select
Next
End Select
Next
Range("A2").Select
ActiveWindow.FreezePanes = True
Rows("1:1").Font.Bold = True
Cells.Columns.AutoFit
Columns("B:E").HorizontalAlignment = xlCenter
Range("A1").Select
Set oFolder = Nothing: Set objShell = Nothing
End Sub
Private Function Hlink(p As String) As String
Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/")
End Function
Encore un grand merci à vous tous !!
N'étant pas un grand spécialiste d'Excel, j'ai peur d'être un peu stupide,
mais Michel Pierron, je colle ou le module (est-il indépendant ? ou se
rajoute-il aux lignes de codes ?)
Sub Listing()
Const Folder$ = "k:DossierComptaClients"
If Dir(Folder, vbDirectory) = "" Then Exit Sub
Dim Headers(5), x%, y&, i&, p$, n$, oFile As Object
Dim objShell As Object, oFolder As Object
Set objShell = CreateObject("Shell.Application")
Set oFolder = objShell.Namespace(CStr(Folder))
Application.ScreenUpdating = False
Workbooks.Add
For i = 0 To 5
Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Select Case i
Case 0 To 1, 3 To 5: x = x + 1: Cells(1, x) = Headers(i)
End Select
Next
y = 1
For Each oFile In oFolder.Items
p = oFile.Path: n = oFile.Name
Select Case Right$(n, 4)
Case ".xls", ".doc", ".pdf"
x = 0: y = y + 1
For i = 0 To 5
Select Case i
Case 0 To 1, 3 To 5
x = x + 1
Cells(y, x) = oFolder.GetDetailsOf(oFile, i)
With ActiveSheet
.Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n
End With
End Select
Next
End Select
Next
Range("A2").Select
ActiveWindow.FreezePanes = True
Rows("1:1").Font.Bold = True
Cells.Columns.AutoFit
Columns("B:E").HorizontalAlignment = xlCenter
Range("A1").Select
Set oFolder = Nothing: Set objShell = Nothing
End Sub
Private Function Hlink(p As String) As String
Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/")
End Function