Bonjour,
J'ai un problème de boucle et je m'arrache les cheveux dessus. Je n'arrive pas à trouver une confirmation de ma supposition ni une solution de contournement. Alors je fais appel à vous.
J'ai une boucle se basant sur la fonction Dir() : je veux en effet parcourir tous les fichiers d'un répertoire. Au sein de ma boucle, je fais appel à la fonction Dir pour vérifier la présence d'un fichier dans un autre répertoire. Concrètement ça donne ça.
Je définis d'abord les variables Rep_bis et Rep_projet
J'ai essayé de changer la condition If, sans utiliser la fonction Dir (par exemple j'ai essayé avec If idpatient = "01-0001" etc... Avec cette condition ça marche, je boucle bien sur les fichiers du répertoire. En revanche avec le If Dir(Fichier_patient) <> "" Then, ça ne fonctionne plus, je ne boucle plus sur les fichiers de mon répertoire.
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 Fichier_BIS = Dir(Rep_bis & "BIS_*.spa") Do While Fichier_BIS <> "" idpatient = Mid(Fichier_BIS, 5, 7) Fichier_patient = Rep_projet & "Patient_BIS_" & idpatient & ".xlsx" If Dir(Fichier_patient) <> "" Then Debug.Print "Entrée dans la boucle if" Else Debug.Print "Pas entrée dans la boucle if" End If Fichier_BIS = Dir() Loop
Je crains de ne pas avoir compris un truc sur le fonctionnement du Dir et que l'imbrication d'un dir dans une boucle sur Dir casse tout.
Pouvez-vous me confirmer ce point ?
Si tel est le cas, auriez-vous une idée à me suggérer pour remplacer le Dir dans mon If ?
J'espère être à peu près clair...
Merci d'avance pour votre aide
Bonne fin d'après-midi
Partager