[RESOLU] Explorateur window avec VBA

barbu26

XLDnaute Nouveau
Bonjour tout le monde,

Je cherche depuis un petit moment sur VBA à faire ceci:

-Pouvoir paramétrer le chemin d'enregistrer d'un fichier Excel

Pour l'enregistrer, je n'ai pas de soucis, le seul inconvénient est que le chemin est en dur dans VBA, c'est à dire que si dans le temps, le dossier d'enregistrer du fichier Excel change, on sera obligé d'aller gratter dans le code pour le changer ... d'où mon idée de rendre paramétrable ce chemin. Pour cela, j'ai créer un userform avec une Textbox et à coté un bouton "Parcourir...". J'arrive avec le bouton parcourir à ouvrir mon explorateur window avec le code suivant :

strExp = "C:\Documents and Settings\"
Shell "explorer.exe /e,/root,""" & strExp & """", vbMaximizedFocus

Et ensuite je cherche le dossier qui m'intéresse, copie le lien et le colle dans ma textbox ... j'aurai aimé savoir si il était possible de rendre sa automatique. Je sais pas si c'est réalisable. Si vous avez des informations je suis preneur. Merci par avance :D
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Explorateur window avec VBA

Bonjour Barbu26,

Il existe des outils tout faits pour ceci: Application.FileDialog

Vois l'exemple suivant sur le fichier ci-joint:

Code:
Private Sub CommandButton1_Click()
Dim Repertoire As FileDialog
 
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
TextBox1 = Repertoire.SelectedItems(1)
End Sub
Cordialement.
 

Pièces jointes

  • Exemple Barbu26.xls
    23.5 KB · Affichages: 133

herve62

XLDnaute Barbatruc
Supporter XLD
Re : Explorateur window avec VBA

Bonjour
Là pas trop le temps d'explorer ton appli , je sais pas mais ca parait simple et évident
Mais j'ai fait ce truc l'an passé , tu peux t'en inspirer ( connaissant VBA) et l'incorporer
J'ai
chem = ThisWorkbook.Path
ensuite dans mon USF le bouton pour Quitter

Code:
Private Sub sortie_Click()
sauv = MsgBox(" enregistrement des données ?", 3, "sauvegarde data")

If sauv = vbYes Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If

If sauv = vbCancel Then Menu_P.Show
If sauv = vbNo Then ActiveWorkbook.Close

End Sub
Chez moi ce fichier est dans un répertoire , si je quitte en enregistrant il se met au même endroit !!!
La personne pour qui j'ai fait l'appli l'a mis sur son serveur > idem quand il quitte ca se met là ou est l'appli pourtant c'est meme pas le meme PC que chez moi , et ca fonctionne
Pour tester : je viens de mettre le fichier AILLEURS , je Quitte > résultat , sauvegarde au nouvel endroit
Je ne bidouille RIEN dans le VBA ????
 

barbu26

XLDnaute Nouveau
Re : Explorateur window avec VBA

Merci pour vos réponse :)

Pour Papou-net, au boulot sur mon poste j'ai Excel 2000 et la macro marche pas et plante sur le "FileDialog" ... Par contre, mon voisin de table à 2010 et ta macro marche parfaitement :'( aurais-tu une idée de remplacement pour ceci? J'ai cherché et je vais continué à chercher de mon côté.

Pour Hervé62, je vais jeter un oeil à ce que tu m'as donnée ;-)
 

Papou-net

XLDnaute Barbatruc
Re : Explorateur window avec VBA

Merci pour vos réponse :)

Pour Papou-net, au boulot sur mon poste j'ai Excel 2000 et la macro marche pas et plante sur le "FileDialog" ... Par contre, mon voisin de table à 2010 et ta macro marche parfaitement :'( aurais-tu une idée de remplacement pour ceci? J'ai cherché et je vais continué à chercher de mon côté.

Pour Hervé62, je vais jeter un oeil à ce que tu m'as donnée ;-)

Salut Hervé62,

RE Barbu26,

Voici une autre méthode qui fonctionne avec XL97 et XL2003, donc avec ta version également, je pense:

Code:
Private Sub CommandButton1_Click()
On Error Resume Next
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H200&, ActiveWorkbook.Path)
Set oFolderItem = objFolder.Items.Item
TextBox1 = oFolderItem.Path
End Sub
Cordialement.
 

Pièces jointes

  • Exemple01 Barbu26.xls
    24 KB · Affichages: 104

Discussions similaires

Réponses
2
Affichages
633

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino