Détermination de l'existance d'un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 502 fois - Téléchargée 36 fois

Contenu du snippet

Recherche si un fichier existe.
Un code simple mais efficace!!

Source / Exemple :


Dim Str As String, StrFile As String
Dim Pos As Integer, Posi As Integer

'Initialise le début de la recherche
Posi = 1

Str = InputBox("Entrer le chemin du fichier", "Ce fichier existe-t-il?")

'Recherche de la position du dernier "\"
While Posi <> 0
    Pos = Posi
    Posi = InStr(Pos + 1, Str, "\", 0)
Wend

'Affichage du nom de fichier sans le chemin
StrFile = Right(Str, (Len(Str) - Pos))

'Détermination de l'existance du fichier
If Dir(Str) <> vbNullString Then
    MsgBox "Le fichier " & StrFile & " existe", vbInformation, "Existant"
Else
    MsgBox "Le fichier " & StrFile & " n'existe pas", vbInformation, "Inexistant"
End If

A voir également

Ajouter un commentaire

Commentaires

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
JJDai > si tu parles d'optimiser, la seule version qui le soit est celle indiquee par Renfield.
Messages postés
291
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
13 mars 2015

Ca me parait bien compliqué et pas très optimisé.
Une ligne de code suffit pour tester l'existence d'un fichier:


Function FileExist(FullpathName As String) As Boolean
On Error GoTo GestionErr
'--------------------------
If Dir(FullpathName) <> "" Then FileExist = True

GestionErr:
End Function
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
via API :

If GetFileAttributes(szfile) And &H80000000& Then ABSENT
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
22
Ta boucle While ... Wend pour avoir le dernier '\' peut être remplacer par une simple instruction InstrRev si tu es en VB6 !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.