Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vérifier si un fichier existe

8 réponses
Avatar
michael
Bonjour,
Je cherche à savoir si il existe une commande pour savoir si un fichier
(avec le path???) existe bien, si il existe il renverrait true et si il
existe pas il renverrait false. Ce qui permettrait de ne pas planter le
programme si il ne trouve pas le fichier.
merci d'avance

8 réponses

Avatar
Adam Pietrasiewicz
We wtorek 18-stycznia-2005 o godzinie 10:27:11 michael napisa³/a


Bonjour,
Je cherche a  savoir si il existe une commande pour savoir si un fichier
(avec le path???) existe bien, si il existe il renverrait true et si il
existe pas il renverrait false. Ce qui permettrait de ne pas planter le
programme si il ne trouve pas le fichier.



Function FichierExiste(NomFichierAvecPath As String) As Boolean

FichierExiste = Dir(NomFichierAvecPath) <> ""

End Function

--
Pozdrawiam
Adam Pietrasiewicz
Avatar
Patrick Philippot
Bonjour,

Je cherche à savoir si il existe une commande pour savoir si un
fichier (avec le path???) existe bien, si il existe il renverrait
true et si il existe pas il renverrait false.



Le plus simple:

If Dir("MonFichier") <> "" Then <MonFichier Existe>

Plus branché:

Public Function FileExists(sFullPath As String) As Boolean
Dim oFile As New Scripting.FileSystemObject
FileExists = oFile.FileExists(sFullPath)
End Function

Il y a d'autres solutions décrites sur http://vbnet.mvps.org/ . Entrez
"FileExists" sur lapage de recherche du site.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Pascal B.
Le MVP "Patrick Philippot" proposa ceci:
-----
| Public Function FileExists(sFullPath As String) As Boolean
| Dim oFile As New Scripting.FileSystemObject
| FileExists = oFile.FileExists(sFullPath)
| End Function


--> Ha!? Je croyais que le FSO n'était pas conseillé.
(Bien que je l'utilise moi-même (avec modération)
et je n'ai pas (encore) rencontré de problèmes)

Cordialement
Pascal B.
Avatar
Patrick Philippot
Bonjour,

--> Ha!? Je croyais que le FSO n'était pas conseillé.
(Bien que je l'utilise moi-même (avec modération)
et je n'ai pas (encore) rencontré de problèmes)



J'admets que ce n'est pas du VB6 stricto sensus.

Avec le temps, il est toutefois difficile de trouver un système où cet
objet (ou plutôt l'ensemble des composants ActiveX Scripting) n'est pas
installé. En toute rigueur, si une application utilise le FSO, elle
devra s'assurer au moment du déploiement que ces composants sont bien
présents.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
ng
Salut,

Attention à Dir$().

Voici deux fonctions qui fonctionnent :) :

Public Function FileExists(ByRef strPath As String) As Boolean
On Error Resume Next
FileExists = ((GetAttr(strPath) And vbDirectory) = 0)
End Function

Public Function DirExists(ByRef strPath As String) As Boolean
On Error Resume Next
DirExists = ((GetAttr(strPath) And vbDirectory) = vbDirectory)
End Function

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

michael wrote:
Bonjour,
Je cherche à savoir si il existe une commande pour savoir si un
fichier (avec le path???) existe bien, si il existe il renverrait
true et si il existe pas il renverrait false. Ce qui permettrait de
ne pas planter le programme si il ne trouve pas le fichier.
merci d'avance


Avatar
Zoury
Salut! :O)


AMHA, les problèmes risqués n'en valent vraiment pas la chandelle. FSO reste
très lent et n'offre aucun avantage, si ce n'est un modèle objet agréable...
aussi le problème de la sécurité reste non négligable.
http://faq.vb.free.fr/index.php?question6


--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Patrick Philippot
Zoury wrote:
FSO reste très lent



C'est exact. Je ne voudrais pas passer pour un défenseur acharné de FSO
qui reste un outil destiné au scripting. Pour les risques, vu la durée
de vie de l'objet dans la routine proposée, ils sont limités.

Mais bon, si les développeurs de VB6 avaient bien voulu régler ce
problème qui traîne depuis des siècles , on ne serait pas là à couper
les cheveux en quatre... :-)

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Zoury
> Mais bon, si les développeurs de VB6 avaient bien voulu régler ce
problème qui traîne depuis des siècles , on ne serait pas là à couper
les cheveux en quatre... :-)



Yep! :O)

--
Cordialement
Yanick
MVP pour Visual Basic