Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/02/2011, 11h45   #1
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 161
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 161
Points : 28
Points : 28
Par défaut Code pour l'ouverture d'un dossier

Bonjour,

je galère pour trouver le code qui me permet d'ouvrir un dossier sur mon disque dur. Je voudrais mettre derrière un bouton de mon formulaire, un code qui ouvre en fonction du nom taper dans une inputbox :

Du genre :
Code :
1
2
3
Dim Chemin As String
 
Chemin = inputbox("quel dossier voulez vous ouvrir ?")
Supposons que je tape "Dossier1"

Ouverture du dossier ("C:\'" & Chemin & "')

Et si le dossier n'existe pas qu'il me mette une Message Box avec "Ce répertoire n'existe pas, souhaitez vous le créer ?"

Je vous remercie d'avance pour votre aide

Bonne journée à tous
majudis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 11h54   #2
Membre habitué
 
Inscription : janvier 2006
Messages : 99
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2006
Messages : 99
Points : 101
Points : 101
Bonjour,

je vous suggère d'utiliser plutôt les API windows afin d'ouvrir les fenêtres windows de sélection de répertoire. Non seulement c'est beaucoup plus "classe" au niveau interface mais c'est aussi beaucoup plus fiable car vous n'avez pas à tester toutes les différentes saisies possibles des utilisateurs.

Vous trouverez le code dans la FAQ : http://access.developpez.com/faq/?pa...Rep#select_rep

Je l'utilise régulièrement dans mes programmes et je n'ai pas le moindre problème avec.

Une fois le chemin récupéré, vous n'avez plus qu'à lancer un shell pour ouvrir l'explorateur au répertoire désiré :

Code :
shell "explorer /e, """ & CheminRepertoire & """",vbMaximizedFocus
Cordialement,
Aegnor est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/02/2011, 12h11   #3
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonjour à tous
Essaie ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim fs As New FileSystemObject
Set fs = CreateObject("Scripting.FileSystemObject")
Dim Chemin As String, rept As String
Chemin = InputBox("quel dossier voulez vous ouvrir ?")
rept = "C:\" & Chemin
If fs.FolderExists(rept) = False Then
      If MsgBox("Ce repertoire n'existe pas!" & vbCrLf & "souhaitez-vous le créer maintenant?", vbInformation + vbDefaultButton1 + vbYesNo, "Monappli") = vbNo Then
          Set fs = Nothing
          Exit Sub
       End If
      MkDir rept
      MsgBox "Le repertoire " & rept & vbCrLf & "a été crée avec succès.", vbExclamation, "MonAppli"
      Set fs = Nothing
End If
With Application.FileDialog(msoFileDialogFilePicker)
    .InitialFileName = rept
    .Show
End With
@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/02/2011, 13h43   #4
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 161
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 161
Points : 28
Points : 28
Bonjour,

Merci beaucoup ce code fonctionne parfaitement bien. Je m'étais mal orienter concernant la création du dossier, mais surtout pour l'ouverture.

En tout cas ce code est parfait pour mon formulaire.

Encore merci et bonne journée
majudis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h10.


 
 
 
 
Partenaires

Hébergement Web