Tester si un REPERTOIRE existe. [Résolu]

Messages postés
3
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
3 novembre 2005
- - Dernière réponse : cs_ephy
Messages postés
3
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
3 novembre 2005
- 3 nov. 2005 à 10:15
Bonjour à tous !
Je désire tester si un repertoire existe lorsque je clique sur un bouton, j'ai donc le code suivant :

Private Sub Command1_Click()
Dim reponse As Integer
If Dir("c:/nouveau_dossier/") <> "" Then
MsgBox ("Existe")
Else
MsgBox ("Existe pas")
reponse = MsgBox("Creer ?", vbInformation + vbYesNo, "Creer")
If reponse = vbYes Then
MkDir ("c:/nouveau_dossier")
Else: End
End If
End If
End Sub

Mon soucis est qu'après avoir créée mon repertoire, si je relance l'application il ne le detecte toujours pas et me demande d'en creer un alors qu'il est deja creer. Par contre si je teste si le repertoire Windows ou Program Files, il me confirme bien que le dossier existe. QQn aurait-il une solution ou un autre code svp ?!

Merci d'avance
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
20
3
Merci
salut
[VB6]


Option Explicit
'
Private Declare Function PathFileExists Lib "shlwapi.dll" _
Alias "PathFileExistsA" _
ByVal pszPath As String) As Long
'
'
Private Sub Command1_Click()
If CBool(PathFileExists("c:/nouveau_dossier/")) Then
MsgBox "c'est ok ;)", 32
Else
Dim lRep As Long
lRep = MsgBox ("n'existe pas, créer ??", vbInformation + vbYesNo, "Creer")
If lRep = vbYes Then
MkDir ("c:/nouveau_dossier")
Else
Unload Me
End If
End If
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


ps : note bien que le END a été remplacé. il n'est que source d'ennuis pour tes futurs projets (VB bien sûr)
PCPT [AFCK]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 154 internautes nous ont dit merci ce mois-ci

Messages postés
34
Date d'inscription
mardi 18 juin 2002
Statut
Membre
Dernière intervention
22 novembre 2005
0
Merci
bonsoir,
exemple en vbs (valable en vba) pour tester la presence d'un path

Dim wRepDest1, fso
wRepDest1 = "c:\Archive-xxxx"

Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(wRepDest1) Then
Set f = fso.CreateFolder(wRepDest1)
msgBox "Création du dossier "&f&" effectuée.",vbInformation
Else
msgBox "Attention:"&vbCrLf&"Le répertoire "&wRepDest1&" existe déjà."&vbCrLf&"Les nouveaux fichiers ne sont donc pas archivés",vbCritical
End if
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
20
0
Merci
manque une parenthèse ( devant le ByVal....
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
16
0
Merci
ou bien



Dir("c:/nouveau_dossier/",vbDirectory)




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Messages postés
3
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
3 novembre 2005
0
Merci
Merci pcpt pour ta réponse rapide est simple, qui m'illumine.


A bientot !