Explorer un dossier, récuperer le chemin d'un executable [Résolu]

Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
- - Dernière réponse : meta4ik
Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
- 14 déc. 2009 à 19:10
Salut,
Je suis débutant en VBA, travaille sur Catia.
Mon explorateur me limite au dossier. Je récupère donc le chemin du dossier de travail dans une textbox.
Je souhaiterai donc savoir comment afficher le contenu de ce dossier pour ensuite sélectionner l'exécutable et récupérer son chemin dans une seconde textbox. Cet exécutable sera lancé ensuite par la suite grâce à shell .
Merci d'avance...

voici mon code :


Private Sub CommandButton1_Click()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
chooseFolder = oFolderItem.Path
TextBox1.Text = chooseFolder

End Sub

javascript:void(0);
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
259
3
Merci
Re...
Veux-tu bien en finir avec ce FSO devenu complètement inutile, oui ? ...

Private Sub CommandButton1_Click() 
  dim dossier as string, filtre as string, fichiers as string
  dossier = C\blabla\blabla\ ' <<<<==== ici ton dossier à fouiller, terminé par un \ 
  filtre = "*.exe" ' <<<<<<<<<<<<<<<<<<======= ici ton filtre à toi
  fichiers = Dir(dossier & filtre, vbNormal Or vbHidden) 
  Do While fichiers <> "" 
    ListBox1.AddItem fichiers 
    fichiers = Dir 
  Loop 

End Sub 


Voilà ! C'est celà qui remplira ta listbox nommée ListBox1 (avec tous les fichiers correspondant à ton filtre).

La manière de sélectionner ensuite dans la listbox (au click) est autre chose (mais je pense que tu la connais, au moins... non ?... si non plus, tu dis ...)
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.

Dire « Merci » 3

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

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

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
259
0
Merci
Bonjour,
Ouvre cette discussion :

http://www.vbfrance.com/forum/sujet-LANCEMENT-AUTOMATIQUE-VIDEOS_1385236.aspx
et va directement à la réponse acceptée (en vert, donc). Elle est ta solution
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Commenter la réponse de ucfoutu
Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
0
Merci
Merci de ta réponse... mais je n'arrive pas à le faire fonctionner. J'ai essayer de l'intégrer à **** et comme ci-dessous mais... oups ça ne fait rien.
Merci encore...

Private Sub CommandButton1_Click()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
chooseFolder = oFolderItem.Path
TextBox1.Text = chooseFolder
****
End Sub

Private Sub ListBox1_Click()

dossier = TextBox1.Value ' ton chemin de dossier
filtre = "*.exe" ' ton filtre
fichiers = Dir(dossier & filtre, vbNormal Or vbHidden)
Do While fichiers <> ""
ListBox1.AddItem fichiers
fichiers = Dir
Loop

End Sub

javascript:void(0);
Commenter la réponse de meta4ik
Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
0
Merci
Au top, je te remercie...
J'utilise le FSO (objShell.BrowseForFolder et objFolder.Items.Item... si j'ai bien compris ce qu'était le FSO) afin de parcourir le disque et de récupérer le chemin du dossier de travail dans une textbox (car j'utilise ce chemin pour utiliser plusieurs fichiers qui s'y trouvent).

C'est pour cela que dans le code que tu m'as passer j'ai modifié par :
Cheminchoisi = TextBox1.Value
dossier = Cheminchoisi & ""

Pour lancer l'exécutable sélectionné dans la ListBox(ligne en bleu), le code est :

'Lancer l'exécutable
Dim Executable As Variant
cheminexe = ListBox1.Value
Executable = Cheminchoisi & "" & cheminexe
Shell (Accouplment_boulonne_exe)

Comme ça, It's Works !!!!
Merci Encore...
javascript:void(0);
Commenter la réponse de meta4ik
Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
0
Merci
Ou pas...
Je change de pc j'ai introduis le même code et il ne reconnait pas le cheminexe (il trouve "" alors que pour Cheminchoisi "C:/....").

Et donc l'exécutable ne se lance pas...
Commenter la réponse de meta4ik
Messages postés
7
Date d'inscription
mardi 1 décembre 2009
Dernière intervention
14 décembre 2009
0
Merci
excuse, c'est bon!
Merci encore !!
Commenter la réponse de meta4ik

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.