VBA - Ouvrir un dossier en fonction d'une combobox

Bonjour à tous,

Cela fait plusieurs semaines que je cherche et mon problème est toujours le même.

Je vous le soumets :

  • J'ai un Userform avec un combobox qui me fait apparaître diverses informations dans des textbox.
  • Dans ce UserForm, j'ai un commandbutton, qui doit me permettre d'accéder à un dossier ayant été créé dans une étape précédente et qui porte exactement le même nom que celui affiché dans la combobox

Je recherche donc la possibilité d'ouvrir le dossier lié au nom affiché dans ma combobx en cliquant seulement sur le bouton.

Pour l'instant, pour palier mon problème, j'ai mis un lien hypertexte derrière mon commandbutton qui me renvoi dans le dossier général, celui où se trouve le dossier que j'aimerais afficher.

Si vous avez une piste, je suis preneur.

Merci par avance pour le temps que vous aurez pris à lire mon message, mais également à la réponse que vous y apporterez

P@pySG

Bonjour,

Teste ceci :

Private Sub CommandButton1_Click()

    With Application.FileDialog(msoFileDialogOpen)

        .InitialFileName = ComboBox1.Text
        .Filters.Add "Fichiers Excel", "*.xls; *.xlsx; *.xlsm", 1

        'si tu souhaite récupérer le chemin complet du fichier choisi
        If .Show = -1 Then
            MsgBox .SelectedItems(1)
        Else
            MsgBox "Aucun fichier !"
        End If

    End With

End Sub

Bonjour, le chemin du fichier vous l'avez ? Si oui.

Dim dossier$
dossier = "C:\........."
Shell "explorer " & dossier, vbNormalFocus

?

Theze a écrit :

Bonjour,

Teste ceci :

Private Sub CommandButton1_Click()

    With Application.FileDialog(msoFileDialogOpen)

        .InitialFileName = ComboBox1.Text
        .Filters.Add "Fichiers Excel", "*.xls; *.xlsx; *.xlsm", 1

        'si tu souhaite récupérer le chemin complet du fichier choisi
        If .Show = -1 Then
            MsgBox .SelectedItems(1)
        Else
            MsgBox "Aucun fichier !"
        End If

    End With

End Sub

Merci pour le code, qui me paraît être un bon début.

Il faudrait juste qu'il m'emmène directement dans mon dossier général qui contient le dossier avec le nom du combobox, et que le filtre soit sur "tout type de fichier".

Merci.


[quote="[Wilder]"]Bonjour, le chemin du fichier vous l'avez ? Si oui.

Dim dossier$
dossier = "C:\........."
Shell "explorer " & dossier, vbNormalFocus

?[/quote]

Merci.

J'ai testé ton code, il fonctionne, sauf qu'en mettant mon chemin sur lequel mon dossier se trouve, il m'envoie dans les "documents" de "ce pc".

Peut-être Est-ce dû au fait que mon dossier soit sur un réseau ?

Quel chemin avez vous renseigné ?

[quote="[Wilder]"]Bonjour, le chemin du fichier vous l'avez ? Si oui.

Dim dossier$
dossier = "C:\........."
Shell "explorer " & dossier, vbNormalFocus

?[/quote]

Finalement, il m'emmène bien dans le bon dossier, il y avait un espace en trop.

Par contre il ne sélectionne pas le dossier qui porte le même nom que ma combobox. Il faudrait qu'il trouve le dossier et l'ouvre. Je ne lui demande pas plus à Excel

dossier = "C:\........." & "\" & combobox1 & "\" 

(combobox1 est à adapter selon votre fichier)

Le \ surligné en vert n'est pas nécessaire s'il est déjà présent dans le chemin comportant le lecteur réseau...car il faut éviter d'avoir ceci

"C:\bureau\dossier1\\sous dossier 1\"

la bonne syntaxe est :

"C:\bureau\dossier1\sous dossier 1\"

[quote="[Wilder]"]

dossier = "C:\........." & "\" & combobox1 & "\" 

(combobox1 est à adapter selon votre fichier)

Le \ surligné en vert n'est pas nécessaire s'il est déjà présent dans le chemin comportant le lecteur réseau...car il faut éviter d'avoir ceci

"C:\bureau\dossier1\\sous dossier 1\"

la bonne syntaxe est :

"C:\bureau\dossier1\sous dossier 1\"

[/quote]

C'est impeccable !

Cela fonctionne parfaitement.

Un grand merci, car cela faisait un moment que je tournais en rond sur cela.

Je vais voir maintenant pour clore le sujet.

Encore merci

De rien

Rechercher des sujets similaires à "vba ouvrir dossier fonction combobox"