Mon dossier existe-t-il???? [Résolu]

Signaler
Messages postés
30
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
18 août 2008
-
Messages postés
30
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
18 août 2008
-
Salut tout le monde. petite question je dois vérifier si des dossiers  existe donc je fais la chose suivante

Function Dossier_Existe(Le_dossier As String) As Boolean
     Dossier_Existe = False
     If Dir(Le_dossier & "") <> "" Then
          Dossier_Existe = True
     Else
          Dossier_Existe = False
     End If
End Function

(le_dossier = app.path & "\ Access")
là il me détect mon dossier que si il y à quelque chose dedant, et je vous parle même pas d'un sous dossier... non il lui faut un fichier un vrai de vrai

ensuite si je fais

Function Dossier_Existe(Le_dossier As String) As Boolean
     Dossier_Existe = False
     If Dir(Le_dossier) <> "" Then
          Dossier_Existe = True
     Else
          Dossier_Existe = False
     End If
End Function

là plus rien n'existe... donc j'inverse mon true et mon false et tout existe même si il ni a rien....

donc si quelqu'un peu m'expliquer... ou me donné un autre code se serais sympat merci

@+ Sator

merci pour votre attention et peut-être vos réponses....

6 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour, FMaztrix07

Pourquoi passer par un GetAttr (et donc un On Error Resume Next), alors que Dir gère parfaitement la chose ?

Private Sub Command1_Click()
  MsgBox Dir("cheminrep", vbDirectory) <> ""
End Sub

où on remplace cheminrep par le chemin du répertoire à tester
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
Bonjour

Essai ça pour
'Test présence répertoire
Public Function DirExists(ByVal strDirName As String) As Boolean
   On Error Resume Next   DirExists (GetAttr(strDirName) And vbDirectory) vbDirectory
End Function

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
jmf, je vais te contrarier un peu, heu heu...

Enlever 'On Error Resume Next' et remplacer par:
- SysAllocString
- StrCmp
- SysFreeString
Je résume ce que fera l'emploi de Dir()

ben c'est pas vraiment une optimisation.

Sans gestion d'erreur ni traitement String
If GetFileAttributes(StrDossier) < 0 Then ABSENT

ciao...
BruNews, MVP VC++
Messages postés
30
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
18 août 2008

ben je vais essayé tout ça et vous tiendrez au courant merci à tous...

Sator
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,

rien de telle qu'une API pour ne pas avoir à gérer d'erreur ;)

http://www.codyx.org/snippet_savoir-si-fichier-existe_65.aspx#208
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
30
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
18 août 2008

en fait c'est marrant mais cette erreur, m'a appris quelque chose... quand on oublie le vbdirectory, indirectement on sait si le dossier est vide ou plein...
merci infiniment à tous...

@+ Sator