Determination du repertoire de recherche

Bonjour tout le monde,

encore une fois je suis confronté à un problème sur VBA, j'ai établi un code qui me permet d'aller ouvrir un fichier .txt mais le problème c'est lorsque je désire ouvrir ce fichier texte, par défaut je me trouve à la racine de mon arborescence NTFS.

J'aimerais donc pouvoir me situer directement à l'adresse de mon dossier "T:\ISh\Prg".

Voici mon code:

'Selection du fichier à ouvrir
    'ChDrive "T:\"
    'ChDir "T:\ISh\Prg"
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
    .Title = "ouvrir fichier texte"
    .Filters.Clear
    .Filters.Add "text file", "*.txt"
    .AllowMultiSelect = False
        If .Show = -1 Then
           sNomFichier = .SelectedItems(1)
           End If
        End With

    Set ws = Sheets("Écriture")          '// feuille où écrire les résultats
    ws.UsedRange.Clear                   '// vider le contenu de la feuille

J'ai tenté une petite manip avec ChDrive, ChDir en vain..

Un peu d'aide SVP, merci d'avance les développeurs

Bonjour,

juste consulter les propriétés de l'objet FileDialog

Sinon avec les instructions ChDrive et ChDir la méthode GetOpenFilename fonctionne sans souci !

Ok, mais lorsque j'ajoute la propriété InitialDirectory

Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
    .Title = "ouvrir fichier texte"
    .Filters.Clear
    .Filters.Add "text file", "*.txt"
    .AllowMultiSelect = False
    .InititalDirectory = "T:\ISh\Prg\"
        If .Show = -1 Then
           sNomFichier = .SelectedItems(1)
           End If
        End With

Le debugger me retourne une erreur

Corrige donc ta faute d'orthographe dans cette ligne ‼

Et puis une fois corrigée, j'espère que cette propriété ne sort pas d'un chapeau !

Très bien vu !! (faute de frappe), mais je mérite de me faire insulter HAHA

  
Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
    .Title = "ouvrir fichier texte"
    .Filters.Clear
    .Filters.Add "text file", "*.txt"
    .AllowMultiSelect = False
    .InitialDirectory = "T:\ISh\Prg\"
        If .Show = -1 Then
           sNomFichier = .SelectedItems(1)
           End If
        End With

Mais malheureusement ça ne fonctionne toujours pas ...

C'est à dire, précisément ?

Sinon tu as déjà une autre solution …

Il ne veut tout simplement pas prendre ma propriété "InitialDirectory", il arrête l'exécution de ma macro à son niveau

Oui j'ai bien compris que je pouvais utiliser getopenfile. Mais je préfère l'outil filedialog (plus rapide à mon gout).

Pourtant au niveau de la syntaxe je pense être bon...

Normal Merlin vu que tu as sorti cette " propriété " d'un chapeau ou d'une pochette surprise ‼

D'où elle existe dans l'aide de cet objet ?‼

Alors au lieu de consulter l'aide - franchement des gamins en élémentaire y sont arrivés ! - on préfère "inventer" !

Merci

Solution:

Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
    .Title = "ouvrir fichier texte"
    .Filters.Clear
    .Filters.Add "text file", "*.txt"
    .AllowMultiSelect = False
    .InitialFileName = "T:\ISh\Prg\IS\"
        If .Show = -1 Then
           sNomFichier = .SelectedItems(1)
           End If
        End With

Super courtois, j'apprécie! Salut

Rechercher des sujets similaires à "determination repertoire recherche"