Mon dossier existe-t-il????

Résolu
Sator1 Messages postés 30 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 18 août 2008 - 31 mai 2008 à 06:24
Sator1 Messages postés 30 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 18 août 2008 - 2 juin 2008 à 01:47
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
31 mai 2008 à 10:24
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
3
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
31 mai 2008 à 08:54
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 mai 2008 à 12:40
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++
0
Sator1 Messages postés 30 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 18 août 2008
31 mai 2008 à 15:22
ben je vais essayé tout ça et vous tiendrez au courant merci à tous...

Sator
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
31 mai 2008 à 20:51
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
0
Sator1 Messages postés 30 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 18 août 2008
2 juin 2008 à 01:47
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
0
Rejoignez-nous