Bonjour le forum, chers membres et staff Dvp !
Bien le bonjour
Je viens vers vous au sujet d'une procédure qui est présente dans la faq, je vous la link.
http://excel.developpez.com/faq/?pag...riptingRuntime
J'utilise du coup ce code, pour lister des Fiches d'Instructions.
Ce sont des documents Word et seulement Word.
J'aimerais ajouté le fait que ma liste ne comporte que des documents word, ce qui n'est pas le cas à l'heure actuel car la procédure me liste tout fichier présent à la racine précisé.
Étant donné que ce sont des fichiers sont souvent mise à jour, je me doit de rajouter une case pour la révision de ce/ces documents.
Voila le code que j'utilise (c'est celui de la FAQ, mise à ma sauce xD ):
C'est donc au niveau de cette ligne que je bute:
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
55
56
57
58
59
60
61
62
63 Sub TestListeFichiers() Dim Dossier As String 'Définit le répertoire pour débuter la recherche de fichiers. '(Attention à ne pas indiquer un répertoire qu contient trop de sous-dossiers ou de 'fichiers, sinon le temps de traitement va être très long). Dossier = "C:\FI générées\" 'Appelle la procédure de recherche des fichiers ListeFichiers Dossier MsgBox "Mise à jour de la liste des Fiches d'Instructions : Terminée" End Sub Sub ListeFichiers(Repertoire As String) Dim Fso As Scripting.FileSystemObject Dim SourceFolder As Scripting.Folder Dim SubFolder As Scripting.Folder Dim FileItem As Scripting.File Dim i As Long Set Fso = CreateObject("Scripting.FileSystemObject") Set SourceFolder = Fso.GetFolder(Repertoire) Application.ScreenUpdating = False Worksheets("Signets & Macros").Activate 'Récupère le numéro de la dernière ligne vide dans la colonne A. i = Range("J3").End(xlUp).Row + 1 'Boucle sur tous les fichiers du répertoire For Each FileItem In SourceFolder.Files 'Inscrit le nom du fichier dans la cellule Cells(i, 10) = FileItem.Name 'Ajoute un lien hypertexte vers le fichier ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 10), _ Address:=FileItem.ParentFolder & "\" & FileItem.Name 'Indice de la révision Cells(i, 11) = "?" 'Indique la date de création Cells(i, 12) = FileItem.DateCreated 'Indique la date de dernier acces Cells(i, 13) = FileItem.DateLastAccessed 'Indique la date de dernière modification Cells(i, 14) = FileItem.DateLastModified i = i + 1 Next FileItem '--- Appel récursif pour lister les fichier dans les sous-répertoires ---. For Each SubFolder In SourceFolder.subfolders ListeFichiers SubFolder.Path Next SubFolder Worksheets("Glossaire").Activate Application.ScreenUpdating = True End Sub
On m'as conseillé d'utiliser la fonction left ou right pour prendre la chaine de caractère qui m'interesse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Indice de la révision Cells(i, 11) = "?"
Mes noms de fichier sont écris de la façon suivante:
FI 1000 Rev A.docx
FI 1001 Rev F.docx
FI 1002 Rev G.docx
FI 1003 Rev H.docx
FI 1004 Rev K.docx
FI 1005 Rev Z.docx
J'aimerais donc qu'en Cells (i, 11) le lettre de la révision soit apparante (Garder juste un caractère à partir de la droite).
Et qu'en cells (i,10) ou se trouve le nom de fichier il y paraisse que FI 1000 et non FI 1000 Rev A.docx (en gros gardé que les 7 caractère à partir de la gauche).
Au plaisir de vous relire.
Je voulais vous dire que grâce à vous et d'autres forums ... ba on progresse ... lentement mais surementThanks for all !!!!
Partager