Tester l'existence d'un répertoire [REGLE !!!]

Tester l'existence d'un répertoire [REGLE !!!] - VB/VBA/VBS - Programmation

Marsh Posté le 11-01-2004 à 12:55:32    

Dans mon userform, je demande un chemin de répertoire.
Au clic sur OK, je veux vériier si ce chemin existe.
 
repertoire = ma zone de texte dans mon userform
 
Je fais ceci :
 
 

Code :
  1. Private Sub CommandButton1_Click()
  2. 'test pour ajouter "\" à la fin du chemin s'il n'y est pas
  3. If Right(repertoire, 1) = "\" Then
  4.    repertoire_corrige = repertoire
  5. Else
  6.    repertoire_corrige = repertoire & "\"
  7. End If
  8. If Dir$(repertoire_corrige) <> "" Then
  9.    MsgBox repertoire_corrige & " OK"
  10. Else
  11.    MsgBox repertoire_corrige & " N'EXISTE PAS"
  12. End If
  13. Unload userform
  14. End Sub


 
Le truc bizarre, c'est que ça marche à moitié !
Pour mon répertoire D:\Fichiers\Aéro\ c'est OK
Mais pour D:\Fichiers\ ça ne marche pas !!!
Pour la racine D:\ ça ne marche pas non plus ....
 
Une idée ?
 
 
 
Sinon, une autre soluce serait d'ouvrir une boîte de sélection de répertoire (un peu comme la boîte Fichier / Ouvrir) plutôt que d'avoir une zone de saisie, mais je ne connais pas la méthode


Message édité par F22Raptor le 11-01-2004 à 13:19:18

---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 11-01-2004 à 12:55:32   

Reply

Marsh Posté le 11-01-2004 à 13:19:04    

ayééééééééééééééé !
Ai trouvé !
 
Si ça peut servir à quelqu'un je mets le script en dessous :
 

Code :
  1. Private Sub CommandButton1_Click()
  2. On Error Resume Next
  3. repertoire_existe = GetAttr(repertoire) And vbDirectory
  4. If repertoire_existe = "" Then
  5.     msgbox repertoire & "N'EXISTE PAS"
  6. Else
  7.     msgbox repertoire & "EXISTE, C'EST LA FÊTE"
  8. End If
  9. End Sub


---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 12-01-2004 à 01:12:47    

Autre moyen :
 

Code :
  1. Public Function Exists(ByVal filename As String) As Boolean
  2.    
  3.     Exists = False
  4.     If StrComp(filename, vbNullString, vbTextCompare) = 1 Then
  5.         If StrComp(Dir$(filename), vbNullString, vbTextCompare) = 1 Then Exists = True
  6.     End If
  7.     Exit Function
  8. End Function
  9. Private Sub Form_Load()
  10.     ' il faut terminer le chemin par un "\"
  11.     If Exists("z:\temp\" ) Then
  12.         MsgBox "Le répertoire existe"
  13.     Else
  14.         MsgBox "Le répertoire n'existe pas"
  15.     End If
  16. End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed