Bonjour,

Je souhaite faire une répétition de tâches pour chacun des classeurs d'un même répertoire. Ici, j'ai inscrit pour simplifier la tâche comme étant "message = nom du fichier".

J'ai repris un code qui paraît tout simple sur les tutoriels, mais qui ne fonctionne pas chez moi. VBA me renvoie "Erreur exécution 5 - Argument ou appel de procédure incorrect"... Quand on lance la procédure, le tout premier Dir, il trouve bien le 1er fichier alphabetiquement ds le répertoire nommé, mais ensuite il renvoie "" et c'est là qu'il buggue ... alors que :
1) si j'ai bien compris xx = Dir donne le 2e fichier de l'emplacement, puis le 3e...
2) et pourtant, ce n'est pas le seul fichier du répertoire.

Manquerait-il une référence pour le faire fonctionner ? Ou bien y a-t-il qq chose que j'aurais oublié ds l'écriture du code ?

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
Sub listefichier()
 
Dim StrPath As String
Dim StrFile As String
 
StrPath = Application.ThisWorkbook.Path
StrFile = Dir(StrPath & "\*.xls")
 
For i = 1 To 5
    If i = 1 Then
        StrFile = Dir(StrPath)
    Else
        StrFile = Dir
    End If
    If StrFile <> "" Then
        MsgBox "fichier:" & StrFile
    End If
Next
 
End Sub

J'ai bien tourné avant de vous écrire ceci... j'espère que vous saurez me répondre...
Vous remerciant beaucoup par avance de votre aide,