Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
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 22/12/2006, 10h41   #1
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
Par défaut [VBA-Arcview] Explorateur de disque en VBA

Bonjour,
je souhaiterai dans une userform permettre à l'utilisateur de parcourir le disque afin de sélectionner un répertoire.
Je précise que je n'ai QUE VBA donc les composants dir drive et file ne sont pas disponibles.
Comment faire ?

PS : je travaille sous un logiciel où on peut programmer en VBA à savoir Arcview mais je pense pas que beaucoup de monde le connaisse...

Merci pour vos réponses
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 11h00   #2
Membre habitué
 
Avatar de cwain
 
Inscription : mars 2006
Messages : 218
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 218
Points : 144
Points : 144
Envoyer un message via MSN à cwain Envoyer un message via Yahoo à cwain
Bonjour,

Tu ajoutes un commandbutton dans ta userform qui exécute le code suivant (par exemple). Ici je récupère le nom et l'adresse du fichier dans un label, et j'ouvre ensuite le fichier, mais tu peux le faire en passant par une variable string
Code :
1
2
3
4
5
6
'Ouverture d'une fenêtre pour parcourir les disques et choisir le fichier
'le chemin du fichier est récupéré et affiché dans le label2
Affaire.Label2.Caption = Application.GetOpenFilename()
 
'ouverture de ce fichier
Workbooks.Open Affaire.Label2.Caption
PS : Affaire est le nom de ma userform

Cwain
cwain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 11h08   #3
Membre habitué
 
Avatar de cwain
 
Inscription : mars 2006
Messages : 218
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 218
Points : 144
Points : 144
Envoyer un message via MSN à cwain Envoyer un message via Yahoo à cwain
sinon, si tu veux juste le nom du dossier contenant le fichier, tu peux travailler sur le string récupéré, de la manière suivante :
Code :
1
2
3
4
5
6
Private Sub CommandButton1_Click()
CheminNom = Application.GetOpenFilename
Cells(1, 1).Value = CheminNom
JusteLeChemin = Left(CheminNom, InStrRev(CheminNom, "\"))
Cells(2, 1).Value = JusteLeChemin
End Sub
Bon, si tu n'as pas de fichier dans ton dossier, je sais pas trop
cwain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 11h11   #4
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
J'ai une erreur car Application.GetOpenFilename n'est pas reconnu
"Propriété ou méthode non géré par cet objet"
Je travaille pas sous excel c'est peut être pour ça, je vais chercher dans les méthodes que me propose application
on verra bien
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 11h40   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 776
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 776
Points : 16 858
Points : 16 858
Envoyer un message via Skype™ à bbil
voir :


Comment ouvrir une fenêtre de sélection de répertoire ?


si tu n'as pas accés au handle ( hwnd..) dans ton applicatif VBA... mais 0 pour le paramétre Handle lors de l'appel de la fonction selectFoldre
bbil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 12h07   #6
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
Impeccable ça marche parfaitement. Merci
sscouby 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 23h59.


 
 
 
 
Partenaires

Hébergement Web