VÉRIFIER L'EXISTENCE D'UN FICHIER

Lightness1024! - 31 août 2001 à 16:12
Glennouchet Messages postés 6 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 15 juillet 2012 - 7 juil. 2012 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/315-verifier-l-existence-d-un-fichier

Glennouchet Messages postés 6 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 15 juillet 2012
7 juil. 2012 à 17:31
Salut à tous et merci, mais j'ai retrouvé un vieux code qui marche bien et plus "rapide", je code en VB5 sur un portable qui a plus de 15 ans et sous W95 (donc il faut optimiser le code, surtout quand on fait une moulinette) :

Function FileExists(FileName As String) As Boolean
On Error GoTo ErrorHandler FileExists (GetAttr(FileName) And vbDirectory) 0
GoTo No_Error
ErrorHandler:
FileExists = False
No_Error:
End Function

Ca permet également de ne pas renvoyer true sur un répertoire...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 juin 2007 à 17:33
plus simple que quoi ?

ne mélange pas tout, ici, c'est une source en VB6, tu propose un code 'plus simple' mais en .Net...
cs_bib34690 Messages postés 22 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 10 mai 2011
29 juin 2007 à 17:26
+ simple...

If System.IO.File.Exists(MonFichier) Then ...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 janv. 2006 à 16:26
FSO à proscrire pour ce genre de mini traitements.... acceptable uniquement en VBS

Public Function IsFileExisting(ByRef Path As String) As Boolean
IsFileExisting = (GetFileAttributes(Path) <> INVALID_FILE_ATTRIBUTES)
End Function
cs_JerryC Messages postés 8 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 14 octobre 2005
21 oct. 2005 à 15:17
Très simple .. un Dir$ avec une gestion d'erreurs (on error). Ca c'est l'alternative... à savoir si c'est plus simple, je répond non.
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
9 nov. 2004 à 03:10
kiminox > Je me trouve sur le meme probleme que toi. Si par hazard, tu as trouvé une alternetive (hors FSO) je suis preuneur ;)
cs_theo Messages postés 2 Date d'inscription jeudi 29 juin 2000 Statut Membre Dernière intervention 29 septembre 2003
29 sept. 2003 à 07:17
Merci Matthieu d'avoir pris 'la peine' d'avoir simplifié le code, qui, au passage, est une bonne optimisation le faite de recuperer le boolean de cette maniere.

Lightness: ce genre de commentaire, on s'en passe volontier. Le but ici est (je le rappelle car y'a des gens qui ont un boulet a la place du cerveau):
1/ utilisation du FileSystemObject
2/ Fonction sur laquelle on a la main.

Je suis heureux d'apprendre - à nouveau - que Dir$ est plus simple et patati et patata ...
Mais pourquoi faire simple quand on peut faire compliqué? Surtout si on est payé pour ...
LoL; je fini par croire que ce sont des gens comme toi qui sont simples ...

Allez, bon coding!!

"Deux choses sont infinies, l'univers et la betise humaine. Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la certitude absolue" - A. Einstein.
kiminox Messages postés 33 Date d'inscription jeudi 27 septembre 2001 Statut Membre Dernière intervention 4 octobre 2003
28 sept. 2003 à 18:39
Slt,

Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :


Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?

Kim
kiminox Messages postés 33 Date d'inscription jeudi 27 septembre 2001 Statut Membre Dernière intervention 4 octobre 2003
28 sept. 2003 à 18:38
Slt,

Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :


Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?

Kim
cs_theo Messages postés 2 Date d'inscription jeudi 29 juin 2000 Statut Membre Dernière intervention 29 septembre 2003
17 juin 2003 à 12:18
le truc c'est justement l'utilisation des FileSystemObject...
donc, oui, dir$ c plus rapide (meilleur?). y'a pas photo.
par contre ok avec matthieu, avec le recul c un code assez 'lourd'.
mais bon, je l'ai ecris en 04/2000 comme vous pouvez le constater par vous memes. y'a un p'tit bout de chemin qui s'est fait depuis ;)
bon code. theo.
matthieuauchan Messages postés 4 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 20 mai 2003
16 juin 2003 à 11:02
Un peu lourd ...
Public Function ExistFile(strPath As String) As Boolean
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
ExistFile = fs.FileExists(strPath)
End Function

voilà... c + propre :)
Lightness1024!
31 août 2001 à 16:12
la technique dir$ est plus simple
Rejoignez-nous