Options de GetOpenFile

yannosh001

XLDnaute Nouveau
Bonjour,

Dans une macro avec laquel j'iporte des fichier, j'utilise la fonction GetOpenFile, comme cela :

Filename = Application.GetOpenFilename(FileFilter:="Texte Files (*.txt), *.txt", Title:="Please select a file")

Le problème c'est que quand l'exploreur s'ouvre pour selectionner le .txt que je veux ouvrir, il est jamais dans le bon dossier...

Comment je peux lui spécifier de s'ouvrir dans un répertoire bien précis?

Merci de votre aide
 

Sylvain

XLDnaute Occasionnel
Re : Options de GetOpenFile

Bonsoir,

je dirais simplement de mettre ceci
Code:
dim repactuel
repactuel=curdir
chdir "c:\mon repertoire"
Filename = Application.GetOpenFilename(FileFilter:="Texte Files (*.txt), *.txt", Title:="Please select a file") 

chdir repactuel 'pour se remettre au départ

A+
 

Pierrot93

XLDnaute Barbatruc
Re : Options de GetOpenFile

Bonjour Yannosh

regarde peut être le code ci dessous :

Code:
ChDir "C:\mesdocuments\mesdocs"
filename = Application.GetOpenFilename(FileFilter:="Texte Files (*.txt), *.txt", Title:="Please select a file")

ce code change le répertoire courant, si le lecteur n'est pas le ême il y aura sans doute lieu de le modifier également.

bon après midi
@+
 

yannosh001

XLDnaute Nouveau
Re : Options de GetOpenFile

Merci a tout les deux, mais ça ne fonctionne pas...

Le dossier en question est en réseau donc l'adresse est en \\monserveur\mondossier

ce qui me donne :

Code:
ChDir "\\monserveur\mondossier"

    Filename = Application.GetOpenFilename(FileFilter:="Texte Files (*.txt), *.txt", Title:="Please select a file")

et ben l'exploreur s'ouvre toujours là ou il était la fois d'avant...

Une idée?
 

RENAUDER

Nous a quitté
Repose en paix
Re : Options de GetOpenFile

Bonjour,

Il faut au préalable mettre un ChDrive
Depuis l'Explorateur, Outils Conncter un lecteur réseau
Tu déclares ton chemin par rapport à lettre de lecteur
V: =\\monserveur\mondossier

Exemple
ChDrive "V:\"
 
Dernière édition:

yannosh001

XLDnaute Nouveau
Re : Options de GetOpenFile

merci renauder, mais je ne peux pas faire cela : Le fichier est utilisé par plusieurs personnes, et toutes n'utilisent pas la même lettre pour monter cette zone réseau....(relou)

Je suis donc obligé d'utiliser l'adressage réseau absolu.... :mad:

Je sais que VBA comprend ce type d'adressage, par exemple, cela fonctionne très bien :

Code:
ActiveSheet.QueryTables.add(Connection:= _
        "TEXT;\\monserveur\mondossier\monfichier.txt"

Mais je ne sais pas l'incrémenter dans le cas de getonfile....

ps :je suis ouvert pour utiliser une autre fonction si ça existe
 

mutzik

XLDnaute Barbatruc
Re : Options de GetOpenFile

bonjour à tous

alors peut-être
Dim filename, rep
rep = InputBox("Choisissez votre drive réseau", "Recherche de Fichier", "P")
ChDrive rep
filename = Application.GetOpenFilename(FileFilter:="Texte Files (*.txt), *.txt", Title:="Please select a file")
 

yannosh001

XLDnaute Nouveau
Re : Options de GetOpenFile

les utilisateur n'ont pas tous cette zone réseau de monté, ou pas tous la même : Certain vont monter à la racine (\\monserveur) et d'autre directement un dossier (\\monserveur\monrepertoire)...donc le chemin, a partir du disque réseau n'est pas toujour le même :rolleyes:

Donc y'aurai (a priori) pas moyen de directement pointer sur \\monserver\monrepertoire ?
 

Pierrot93

XLDnaute Barbatruc
Re : Options de GetOpenFile

Re

essaye peut être comme ci dessous :

Code:
'activer la reference Microsoft scripting Runtime
Dim fso As Scripting.FileSystemObject, z As String
Set fso = CreateObject("Scripting.FileSystemObject")
z = fso.GetFolder("\\monserveur\mondossier").Files("monfichier.txt").Drive.DriveLetter 
ChDrive z & ":\"
ChDir z & ":\mondossier"

nom serveur, dossier et fichier à adapter.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 924
Membres
105 565
dernier inscrit
HervéD