VBA Application.FindFile ouvrir l'explorateur sur un répertoire précis

Bonjour à tous

Dans une procédure je souhaite ouvrir un fichier avec Application.FindFile ce qui ne pose aucun problème, j'accède a l'explorateur et j'utilise l'arborescence pour sélectionner le fichier qui m'intéresse.

Au lieu de se promener dans l'explorat, y a t il une méthode pour se positionner directement sur le répertoire qui contient le fichier recherché et l'ouvrir

J'ai beau faire un choix de chemin critique avec ou sans "\" ça ne change rien

Merci d'avance pour vos aides et suggestions

Cordialement

FINDRH

Bonjour FindRH

En définissant les variables comme il faut, voici une possibilité

sPath = "C\MonDossier\MonSousDossier\"
sFic ="NomDeMonFichier"
Set Wbk = Workbooks.Open(sPath & sFic)

A+

Bonjour FINDRH, Salut BrunoM45

Je pense qu'il vaut mieux passer par la propriété FileDialog, en mettant un chemin initial :

https://docs.microsoft.com/fr-fr/office/vba/api/office.filedialog.initialfilename

Cdlt,

Bonsoir

Merci pour vos réponses, je constate qu'une question simple est plutôt complexe à résoudre....

En fait il s'agit de positionner l'explorateur sur le répertoire ou sous répertoire dans lequel je veux choisir un fichier qu'il contient.

Je croyais m'n sortie en me servant d'un chemin critique 'path, et que Application.FindFile allait ouvrir l'explorateur

Une autre possibilité consisterait à alimenter une Listbox avec la liste des fichiers que contient le répertoire, c'est dans mes compétences je crois. Je pensais qu'il y avait une solution plus simple....

Dans l'attente d'une solution miraculeuse.. encore merci de vous être intéresser à mon problème

Cordialement

FINDRH

Bonjour FindRH

Si vous voulez donner le choix à l'utilisateur, pour quoi ne pas utiliser la solution de 3GB que je salue et que voici

Function ChoixFichier()
  Dim sPathFic As String, Fd As Object
  Set Fd = Application.FileDialog(msoFileDialogFilePicker)
  With Fd
    .AllowMultiSelect = False
    .Filters.Add "fichier excel", "*.xlsx"
    .InitialFileName = "C:\"
    If .Show = -1 Then
      sPathFic = .SelectedItems(1)
    Else
      sPathFic = ""
    End If
  End With
  ChoixFichier = sPathFic
  Set Fd = Nothing
End Function

Qu'on appelle par

Sub Test()
  MonCheminFic = Choixfichier
  MsgBox MonCheminfic
End Sub()

A+

Bonjour BrunoM45

Merci pour ce bout de code que j'ai adapté et qui marche !

En VBA ce n'est pas essentiellement le "Vieux François" qui compte.... c'est l'intention et l'objectif de se faire comprendre qui prime

Cordialement

FINDRH

Rechercher des sujets similaires à "vba application findfile ouvrir explorateur repertoire precis"