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

Test d'un Path

8 réponses
Avatar
Infogroup
Bonjour à tous,

Dans une procédure, je liste les dossiers d'un répertoire D:\Copie,

Mais évidemment, si le dossier n'existe pas, il se provoque une erreur.

Je voudrais donc tester l'existence du dossier avant d'exécuter la suite de
la procédure.

Path = "D:\Copie"

Si Path existe then.

Merci par avance pour vos éclairages

Cdl

Infogroup

8 réponses

Avatar
Daniel.C
Bonjour.

Sub test()
On Error Resume Next
doss = Dir("d:copy", vbDirectory)
If Err.Number = 52 Then
MsgBox "dossier introuvable"
Err.Clear
End If
On Error GoTo 0
End Sub

Cordialement
Daniel

Bonjour à tous,

Dans une procédure, je liste les dossiers d'un répertoire D:Copie,

Mais évidemment, si le dossier n'existe pas, il se provoque une erreur.

Je voudrais donc tester l'existence du dossier avant d'exécuter la suite de
la procédure.

Path = "D:Copie"

Si Path existe then.

Merci par avance pour vos éclairages

Cdl

Infogroup


Avatar
FFO
Salut à toi

Je te propose ceci :

If Dir("D:Copie", vbDirectory) = "Copie" Then
Code......
End If

Celà devrait convenir
Dis moi !!!!!!
Avatar
Infogroup
Merci à Daniel.C et à FFO

vos deux solutions conviennent parfaitement pour mon application

merci encore

Cordialement

Infogroup






"FFO" a écrit dans le message de
news:
Salut à toi

Je te propose ceci :

If Dir("D:Copie", vbDirectory) = "Copie" Then
Code......
End If

Celà devrait convenir
Dis moi !!!!!!
Avatar
FS
Bonjour,

Tu as apparemment déjà trouvé ton bonheur.
Cependant je te propose quand même cette méthode pour tester l'existence
d'un dossier (ou d'un fichier) :

If Dir("D:Copie", vbDirectory))="" Then

Dir renvoie en effet une chaîne vide s'il ne trouve pas le dossier
demandé, sans provoquer d'erreur.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Infogroup a écrit :
Bonjour à tous,

Dans une procédure, je liste les dossiers d'un répertoire D:Copie,

Mais évidemment, si le dossier n'existe pas, il se provoque une erreur.

Je voudrais donc tester l'existence du dossier avant d'exécuter la suite
de la procédure.

Path = "D:Copie"

Si Path existe then.

Merci par avance pour vos éclairages

Cdl

Infogroup


Avatar
Daniel.C
> If Dir("D:Copie", vbDirectory))="" Then

Dir renvoie en effet une chaîne vide s'il ne trouve pas le dossier demandé,
sans provoquer d'erreur.



Bonjour,
... si le périphique "D:" est disponible, sinon, ça plante.
Cordialement.
Daniel
Avatar
Infogroup
Effectivement, une solution de plus,

merci à toi Frédéric

Cdl

Infogroup

"Daniel.C" a écrit dans le message de
news:O8O$f%
If Dir("D:Copie", vbDirectory))="" Then

Dir renvoie en effet une chaîne vide s'il ne trouve pas le dossier
demandé, sans provoquer d'erreur.



Bonjour,
... si le périphique "D:" est disponible, sinon, ça plante.
Cordialement.
Daniel




Avatar
FS
Bonjour,

En effet. Il faudrait donc, dans l'idéal, combiner les deux approches.
Par exemple :

Function DirExists(Chemin$) As Boolean
On Error GoTo Erreur
DirExists = Dir(Chemin, vbDirectory) <> ""
Erreur:
Err.Clear
End Function

Reste que les périphériques amovibles (clés USB) ne semblent répondre à
aucun des deux tests.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Daniel.C a écrit :
If Dir("D:Copie", vbDirectory))="" Then

Dir renvoie en effet une chaîne vide s'il ne trouve pas le dossier
demandé, sans provoquer d'erreur.



Bonjour,
.... si le périphique "D:" est disponible, sinon, ça plante.
Cordialement.
Daniel




Avatar
Infogroup
Re-bonjour Frédéric,

ça serait le top du top,
on rentre là dans des considérations super sophistiquées ( bravo à toi )
mais mes modestes connaissances en VBA ont du mal à décortiquer tout ce que
tu tentes de me faire comprendre.

Félicitations au passage pour ton site qui est super.

merci encore,

cordialement

Infogroup





"FS" a écrit dans le message de
news:%
Bonjour,

En effet. Il faudrait donc, dans l'idéal, combiner les deux approches.
Par exemple :

Function DirExists(Chemin$) As Boolean
On Error GoTo Erreur
DirExists = Dir(Chemin, vbDirectory) <> ""
Erreur:
Err.Clear
End Function

Reste que les périphériques amovibles (clés USB) ne semblent répondre à
aucun des deux tests.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Daniel.C a écrit :
If Dir("D:Copie", vbDirectory))="" Then

Dir renvoie en effet une chaîne vide s'il ne trouve pas le dossier
demandé, sans provoquer d'erreur.



Bonjour,
.... si le périphique "D:" est disponible, sinon, ça plante.
Cordialement.
Daniel