Application.FileDialog : Choix Racine ?

Résolu
AdD92 Messages postés 5 Date d'inscription jeudi 15 juin 2006 Statut Membre Dernière intervention 29 avril 2008 - 15 juin 2006 à 18:12
AdD92 Messages postés 5 Date d'inscription jeudi 15 juin 2006 Statut Membre Dernière intervention 29 avril 2008 - 15 juin 2006 à 20:21
Bonjour,

J'utile la fonction "Application.FileDialog" pour choisir soit des dossiers, soit des fichiers.


Dim Dlg As FileDialog

Dim Opt As Integer

'msoFileDialogOpen --> 1 (Fichier / ouvrir à partir de la dernière racine accédée)

'msoFileDialogSaveAs --> 2 (Fichier / ouvrir à partir de la dernière racine accédée)

'msoFileDialogFilePicker --> 3 (Fichier / parcourt à partir de la dernière racine accédée)

'msoFileDialogFolderPicker --> 4 (Répert / à partir de la dernière racine accédée)

Opt = 1

Set Dlg = Application.FileDialog(Opt)


Ma problématique : La boite de dialogue propose la dernière racine
accédée, je n'arrive pas à forcer le répertoire de départ à C:\ (par
ex.)


Quelqu'un aurait-il la réponse ?

Merci d'avance.

Cordialement

4 réponses

AdD92 Messages postés 5 Date d'inscription jeudi 15 juin 2006 Statut Membre Dernière intervention 29 avril 2008
15 juin 2006 à 20:21
@galopin01 :
Merci mais ça ne fonctionne pas.

Ceci dit, je viens de trouver la réponse à l'adresse :
http://officesystem.access.free.fr/msofiledialog.htm

Effectivement, en codant le InitialFileName sans les fichiers, ça "redémarre" chaque fois dans C:\ (dans l'exemple).
Opt = 1
    Set Dlg = Application.FileDialog(Opt)
    With Dlg
        .InitialFileName = "c:"
Merci à tous.
Cordialement.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 juin 2006 à 18:23
Salut
Sous VB6, c'est une réaction connue des CommonDialog : Tu spécifies le .InitDir la 1ere fois, c'est Ok, mais ensuite, il ne tient plus compte des valeurs qu'on met dedans.
En plus, cette mémoire subsiste même après l'arrêt du programme.
Perso, je n'ai pas trouvé de contournement.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
AdD92 Messages postés 5 Date d'inscription jeudi 15 juin 2006 Statut Membre Dernière intervention 29 avril 2008
15 juin 2006 à 18:33
@jack
Merci de ta prompte réponse :)
Je suis sous VBA (ACCESS). Je pense que c'est la même chose que sous VB6.

Peux-tu m'indiquer le code que tu utilises pour .InitDir car je vais tester différentes combinaisons (j'apprends beaucoup comme ça).

Tu dis que tu "charges" .InitDir la 1ère fois, et si tu le "recharges" à chaque fois ?
(Je vais tester dès ta réponse)
Merci d'avance.
0
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
15 juin 2006 à 19:52
bonsoir,
je n'ai pas pratiqué Access depuis belle lurette, sous VBA (Excel) InitDir n'existe pas, je ne vois pas de raison pour qu'il existe sous Access.
Utilise CurDir pour mémoriser le répertoire courant et ChDir pour changer de répertoire.
A+
0
Rejoignez-nous