Tester si un REPERTOIRE existe. [Résolu]

cs_ephy 3 Messages postés vendredi 19 novembre 2004Date d'inscription 3 novembre 2005 Dernière intervention - 2 nov. 2005 à 21:59 - Dernière réponse : cs_ephy 3 Messages postés vendredi 19 novembre 2004Date d'inscription 3 novembre 2005 Dernière intervention
- 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
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 2 nov. 2005 à 22:22
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]

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

cs_jeanmarc 34 Messages postés mardi 18 juin 2002Date d'inscription 22 novembre 2005 Dernière intervention - 2 nov. 2005 à 22:20
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
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 2 nov. 2005 à 22:25
0
Merci
manque une parenthèse ( devant le ByVal....
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 3 nov. 2005 à 10:12
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.
cs_ephy 3 Messages postés vendredi 19 novembre 2004Date d'inscription 3 novembre 2005 Dernière intervention - 3 nov. 2005 à 10:15
0
Merci
Merci pcpt pour ta réponse rapide est simple, qui m'illumine.


A bientot !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.