Bonjour à tous
J'essaye d'écrire un code pour pouvoir récuper le nom de fichier word dans des sous-dossier. Quand je teste mon code je sais que dans le dossier il y a 3 sous-dossier et dans chacun d'eux il y a des fichiers word.
le probleme c'est que mon code s'arrete après avoir traiter le premier sous-dossier.
Quelqu'un peut il voir pourquoi le "Loop" de "rep" s'arrête?
Voici le code
Merci d'avance
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 Private Sub Extration_click() Dim Rs As Recordset Dim strFile As String Dim rep As String If IsNull(Me.CHEMIN_FICHIER) Then MsgBox "Veuillez choisir un dossier" Else CurrentDb.Execute "Delete * From DOCUMENT", dbFailOnError rep = Dir(Me.CHEMIN_FICHIER, vbDirectory) ' récupére les noms des sous-dossiers Do While (rep <> "") If (GetAttr(Me.CHEMIN_FICHIER & "\" & rep) And vbDirectory) = vbDirectory Then If (rep) <> "." And (rep) <> ".." Then Set Rs = CurrentDb.OpenRecordset("DOCUMENT", dbOpenDynaset) strFile = Dir(Me.CHEMIN_FICHIER & "\" & rep & "\*.doc", vbNormal) 'chercher les fichiers dans les dossiers Do If strFile = "" Then GoTo ExitHere End If Rs.AddNew Rs!chemin = strFile Rs.Update strFile = Dir() Loop End If End If rep = Dir() Loop ExitHere: Set Rs = Nothing MsgBox ("La mise à jour a été faite") End If End Sub
EDit: Le problème vient de cette partie:
Mais je sais pas comment faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If strFile = "" Then GoTo ExitHere End If
Partager