isnull(dir) ou dir = "" ?

Le
JPG
Bonjour,

J'ai un souci pour détecter la présence d'un fichier ou d'un dossier.
J'utilise soit
if isnull(dir(myfile)) then 'ou not isnull
soit
if dir(myfile)="" then 'ou <>""

et ça marche une fois sur 2 dans les 2 cas, mais jamais au bon moment !
Si le répertoire Bidule, n'existe pas je crée le répertoire bidule. Il
trouve que bidule n'existe pas (ce qui est faux) et au moment de le créer, il
me dit qu'il existe déja. Je mettrais bien un "On error resume next", mais
j'ai peur que le répertoire ne soit jamais créé.

Existerait-il une syntaxe qui marche à tous les coups ?

Merci beaucoup pour votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #6190291
Bonjour,

Pour tester l'absence d'un répertoire:
If dir("Nomrep", vbDirectory)="" then

Pour un fichier:
If dir("CheminCompletFichier.Ext")="" then

Bonjour,

J'ai un souci pour détecter la présence d'un fichier ou d'un dossier.
J'utilise soit
if isnull(dir(myfile)) then 'ou not isnull
soit
if dir(myfile)="" then 'ou <>""

et ça marche une fois sur 2 dans les 2 cas, mais jamais au bon moment !
Si le répertoire Bidule, n'existe pas je crée le répertoire bidule. Il
trouve que bidule n'existe pas (ce qui est faux) et au moment de le créer, il
me dit qu'il existe déja. Je mettrais bien un "On error resume next", mais
j'ai peur que le répertoire ne soit jamais créé.

Existerait-il une syntaxe qui marche à tous les coups ?

Merci beaucoup pour votre aide.





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

JPG
Le #6190261
Merci Eric !


Bonjour,

Pour tester l'absence d'un répertoire:
If dir("Nomrep", vbDirectory)="" then

Pour un fichier:
If dir("CheminCompletFichier.Ext")="" then

Bonjour,

J'ai un souci pour détecter la présence d'un fichier ou d'un dossier.
J'utilise soit
if isnull(dir(myfile)) then 'ou not isnull
soit
if dir(myfile)="" then 'ou <>""

et ça marche une fois sur 2 dans les 2 cas, mais jamais au bon moment !
Si le répertoire Bidule, n'existe pas je crée le répertoire bidule. Il
trouve que bidule n'existe pas (ce qui est faux) et au moment de le créer, il
me dit qu'il existe déja. Je mettrais bien un "On error resume next", mais
j'ai peur que le répertoire ne soit jamais créé.

Existerait-il une syntaxe qui marche à tous les coups ?

Merci beaucoup pour votre aide.





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Gilles MOUGNOZ
Le #6190231
Bonjour, JPG
En parcourant l'aide sur la fonction Dir() et en faisant quelques tests, il
apparaît qu'en passant le chemin d'un dossier en paramètre, on obtient le
nom du premier fichier qu'il contient, à condition d'ajouter un anti-slash
() à la fin du chemin du dossier. Si ce dossier est vide, la fonction
renvoie une chaîne vide, comme dans le cas où le dossier n'existe pas. En
ajoutant le paramètre vbDirectory, elle renvoie bien le nom du dossier s'il
existe ou une chaîne vide sinon. Idem pour les fichiers. Mon conseil est
donc d'utiliser systématiquement Dir() avec ce paramètre:
Dir(TonChemin, vbDirectory)

Personnellement, j'utilise le fso (FileSystemObject), pas Dir(). Pour savoir
si un dossier, un fichier ou même un lecteur existe, il y a des fonctions
spécifiques. Exemple pour l'existence d'un fichier:
Public Function FichierValide(avChemin As String) As Boolean
Set voFileSystem = CreateObject("Scripting.FileSystemObject")
FichierValide = voFileSystem.FileExists(avChemin)
Set voFileSystem = Nothing
End Function
Plus d'infos ici:
http://www.laltruiste.com/coursscriptingruntime/filesystemobject.html
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour,
J'ai un souci pour détecter la présence d'un fichier ou d'un dossier.
J'utilise soit
if isnull(dir(myfile)) then 'ou not isnull
soit
if dir(myfile)="" then 'ou <>""
et ça marche une fois sur 2 dans les 2 cas, mais jamais au bon moment !
Si le répertoire Bidule, n'existe pas je crée le répertoire bidule. Il
trouve que bidule n'existe pas (ce qui est faux) et au moment de le créer,
il
me dit qu'il existe déja. Je mettrais bien un "On error resume next", mais
j'ai peur que le répertoire ne soit jamais créé.
Existerait-il une syntaxe qui marche à tous les coups ?
Merci beaucoup pour votre aide.


Publicité
Poster une réponse
Anonyme