Bouton Parcourir sous VBA pour Excel

stageei2 Messages postés 5 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 mai 2005 - 24 mai 2005 à 15:19
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 25 mai 2005 à 13:04
Salut,

je travaille sous VBA pour Excel(XP), et je voudrais mettre un bouton parcourir dans une boite de dialogue afin de travailler ensuite sur le fichier ainsi atteint.

Je sais qu'un tel bouton n'existe pas et qu'il faut le creer, mais je ne sais pas comment faire(j'ai entendu parler de Common Dialog, mais je ne sais pas ce que c'est et ou trouver ca...)

J'ai donc grandement besoin d'aide ca sans ca je ne peux pas avancer.

Merci d'avance

8 réponses

Surfurax Messages postés 61 Date d'inscription mardi 26 août 2003 Statut Membre Dernière intervention 25 mai 2005
24 mai 2005 à 15:35
POur utiliser l'objet Common dialog, il faut aller dans
Projet\composants, là tu cherches "Microsoft Common Dialog Control",
lorsque tu l'as ajouté, il apparaîtra dans ta barre d'outils (là où se
trouve les boutons, textbox, ...), tu le sélectionnes et tu en ajoutes
un sur la fenêtre qui t'intéresse, il te suffit ensuite de te référer à
l'aide MSDN (elle est bien faite), sinon voici un exemple de code
:



With CommonDialog

.DialogTitle = "File to execute ..."

.DefaultExt = "*.*"

.Filter = "All files (*.*)|*.*|Executable files (*.exe)|*.exe|"

.ShowOpen

If Trim$(.FileName) <> vbNullString Then

Call SaveEntry(.FileName, Liste)

End If

End With


Bonne chance,






[%22%20mailto:paulferrand@yahoo.fr%22%20 " mailto:paulferrand@yahoo.fr" ]Surfurax[/url
0
stageei2 Messages postés 5 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 mai 2005
24 mai 2005 à 16:22
super, merci beaucoup, j'espere que je vais m'en sortir avec ca
0
stageei2 Messages postés 5 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 mai 2005
24 mai 2005 à 19:26
Le probleme c'est que je trouve pas Projet\composants
ca se trouve ou?

Merci
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
24 mai 2005 à 20:32
Bonsoir,

Si tu n'as pas Visual Studio 6.0, je ne pense pas que tu puisses avoir
le contrôle CommonDialog. Le plus simple pour toi c'est de créer un
UserForm qui servirait pour ouvrir et visionner des fichier .txt.

Je vais préparer un code,je le posterai et lu verras si ça te convient.



jpleroisse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
24 mai 2005 à 22:09
Bonsoir,

Je viens de me rappeler que pour remplacer le CommonDialog de VB tu as dans Excel la collection Dialogs.



Private Sub CommandButton1_Click()

Application.Dialogs(xlDialogOpen).Show

End Sub



jpleroisse
0
stageei2 Messages postés 5 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 09:29
En fait ce que je cherche a faire c'est pas vraiment ouvrir le fichier.
Je voudrais juste récuperer le nom du fichier pour pouvoir executer une procedure dessus.
Pour l'instant j'ai une InputBox, et je dois rentrer a la main le nom du fichier(avec l'emplacement précis sur le disque), ce qui est assez pénible dès qu'il faut le faire plusieurs fois de suite.
C'est pourquoi je prefererais avoir un bouton parcourir.

Comment je peux faire ca ?

Merci d'avance.
0
stageei2 Messages postés 5 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 11:15
C'est bon en fait j'ai reussi a faire ce que je voulais, seulement la fenetre UserForm où il y a mon bouton parcourir ne se ferme pas toute seule.
Comment faire pour que la boite de dialogue se ferme une fois que j'ai cliqué sur le bouton?

Merci

Julien
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
25 mai 2005 à 13:04
Bonjour,

Tu ajoutes à la fin de la procédure Unload Me.



Pour information, voici un code qui permet de lire les nom des dossiers et fichiers d'un répertoire.



Option Explicit

Public oFs As Object



Sub Main()

Set oFs = CreateObject("Scripting.FileSystemObject")

Dossiers_Fichiers ("C:\Temp")

End Sub



Sub Dossiers_Fichiers(sNomDossier As String)

Dim oDossier As Object

Dim oSousDossier As Object

Dim oSousDossiers As Object

Dim oFichier As Object

Dim oFichiers As Object

Dim sDossiers As String

Dim sFichiers As String

sNomDossier = "C:"

Set oDossier = oFs.GetFolder("C:")

Set oSousDossiers = oDossier.SubFolders

For Each oSousDossier In oSousDossiers

sDossiers = sDossiers & oSousDossier.Name & vbCrLf

Next

MsgBox "Liste des sous-dossiers dans " & sNomDossier & vbCrLf & sDossiers

Set oFichiers = oDossier.Files

For Each oFichier In oFichiers

sFichiers = sFichiers & oFichier.Name & vbCrLf

Next

MsgBox "Liste des fichiers dans " & sNomDossier & vbCrLf & sFichiers

End Sub



Private Sub CommandButton1_Click()

Main

End Sub



jpleroisse
0
Rejoignez-nous