Bonjour à tous,

Voici mon problème j'ai une boucle while définie avec un Dir dans les conditions. Le problème est que si j'utilise cette fonction une autre fois dans ma boucle ça ne marche pas.

voici les problèmes:

si mon fichier n'existe pas alors lors du fichier= Dir il me met cette erreur.
Si mon fichier existe la boule ne fais qu'un seul tour.

Dans mon dossier :"données d'essai zip" j'ai 2 fichier donc je devrais avoir à la fin n = 2.

Mon but n'est pas de comté les fichiers le n est juste là comme moyen de contrôle de ma boucle.


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
Function Existencedossier(Dossieratest As Variant) As Variant
Existencedossier = Dir(Dossieratest, vbDirectory)
 
End Function
 
Sub fichier()
 
Dim fichier As Variant
Dim cheminfichier As Variant
Dim Dossiertempasup As Variant
 
Dim n As Integer
 
'ouverture des fichiers EVRP
cheminfichier = "C:\Users\xxx\Desktop\Suivi\données essai zip\"
fichier = Dir(cheminfichier & "*.*")
n = 0
While fichier <> ""
n = n + 1
 
 
    Dossiertempasup = "C:\Users\xxx\Desktop\Dossier tempon à sup"
    If Existencedossier(Dossiertempasup) = "" Then
    MkDir Dossiertempasup
    End If
fichier = Dir
Wend
 
MsgBox n
 
End Sub

J'espère que j'ai été claire.

Merci d'avance de votre aide.