Recherche fichier dans dossier

Bonjour, la variable repertoire prend la valeur du fichiers qui se trouve à l'intérieur de celui ci. Dans mon cas, j'ai plusieurs fichiers (10 environs) et j'aimerais bien qu'il y est une comparaison entre mon fichier qui se trouve dans la variable fiche_recherche et tous les fichiers du répertoire or dans mon cas, si le premier fichier ne correspond pas, il ne continue pas la recherche et m’indique que le fichier n'existe pas or il existe mais il se trouve plus bas dans mon répertoire. Cela est-il possible ?

repertoire = Dir("C:\UsersDesktop\Répertoire\Test\", vbNormal)
If repertoire = fiche_recherché Then
    Workbooks.Open chemin
End If

Dans ce cas j'ai un message d'erreur me disant que le fichier n'existe pas.

Merci.

Bonjour, tu peux essayer comme ceci :

chemin = Dir("C:\Users\Desktop\Repertoire\Test\")
Do While chemin <> ""
If chemin <> fichier Then
    chemin = Dir
Else
    MsgBox ("Le fichier n'existe pas")
End If
Loop

A tester ! A plus

Braters a écrit :

Bonjour, tu peux essayer comme ceci :

chemin = Dir("C:\Users\Desktop\Repertoire\Test\")
Do While chemin <> ""
If chemin <> fichier Then
    chemin = Dir
Else
    MsgBox ("Le fichier n'existe pas")
End If
Loop

A tester ! A plus

Cela fonctionne mais le problème c'est que j'ai trois possibilités en fait.

Si chemin <> fichier alors on continue

Si chemin = fichier alors on sors de la boucle

Si chemin <> fichier et qu'il n'y a plus de fichier alors message box.

Cela est-il possible ?

svp

Et bien, essaye comme cela :

[code]chemin = Dir("C:\Users\Desktop\Repertoire\Test\")

Do While chemin <> ""

If chemin <> Fichier Then

chemin = Dir

Else

Exit Sub

End If

Loop

MsgBox ("Le fichier n'existe pas")/code]

Si tu veux sortir de la macro si les noms correspondent.

A plus

Braters a écrit :

Et bien, essaye comme cela :

[code]chemin = Dir("C:\Users\Desktop\Repertoire\Test\")

Do While chemin <> ""

If chemin <> Fichier Then

chemin = Dir

Else

Exit Sub

End If

Loop

MsgBox ("Le fichier n'existe pas")/code]

Si tu veux sortir de la macro si les noms correspondent.

A plus

Merci mais cependant j'ai encore un problème, le msgbox ne peux pas être en dehors de la boucle sinon quand je quitte la boucle une fois les deux fichiers identiques, le message apparaît quand même.

Dans l'état actuel, tu quittes la macro entièrement et donc tu n'atteins pas le msgbox si le nom du fichier est le meme que le nom du chemin.

Si tu veux quitter le boucle uniquement et poursuivre ta macro tout en conservant le message, le code sera plus compliqué que cela.

A plus !

Braters a écrit :

Dans l'état actuel, tu quittes la macro entièrement et donc tu n'atteins pas le msgbox si le nom du fichier est le meme que le nom du chemin.

Si tu veux quitter le boucle uniquement et poursuivre ta macro tout en conservant le message, le code sera plus compliqué que cela.

A plus !

Oui en fait je dois faire un exit do c'est pour cela que le message n'est pas bien placé.

Merci

Dans ce cas, pour un souci de simplicité, je te conseille de mettre la boucle dans une sub en dehors de ta macro principale et de l'appeler comme ceci par exemple (Si tu la nommes Sub Boucle() ) :

Call Module2.Boucle

N'oublie pas de re définir la variable Fichier dans ta boucle !

A plus

Merci pour ton conseil.

Rechercher des sujets similaires à "recherche fichier dossier"