Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vba: ouvrir un répertoire

13 réponses
Avatar
Jac
Bonjour à tous,

je suis à la recherche de l'instruction magique qui va me permettre de
lancer l'ouverture du répertoire dont je connais le nom.
Ouvrir un fichier xls, j'arrive, mais ouvrir un répertoire, je bloque.

Merci d'avance à qui me mettra sur la voie.

Jac

3 réponses

1 2
Avatar
LSteph
Re, bonjour,

La boite de dialogue ouvrir, sert aussi bien à ouvrir les fichier qu'à
naviguer dans les répertoire, lorsque tu parles "d'ouvrir un répertoire"
, il s'agit d'explorer son contenu.

Pour ouvrir l'explorateur windows (qui n'ouvre pas non plus les
répertoires mais affiche leut contenu, je t'ai donné ceciou test serait
le rep de que tu veux afficher:

sub AffichExpl()
Shell "explorer.exe c:test", 1
end sub

'lSteph

C'est vrai, ici on est sur XL.

Mais c'est dans une feuille XL que je cherche à mettre un bouton qui ouvre
un répertoire dont je calcule le chemin en fonction du contenu de certaines
cellules et de l'Active Workbook Path. Et comme ce répertoire contient des
fichiers Word que j'ai créé via des fusions avec les données de mon classeur
XL, à un moment donné, j'ai besoin de consulter ou d'imprimer certains
documents Word.
Mais quand je suis dans la fenêtre XL d'ouverture de fichiers, si je choisis
tous les fichiers, je vois aussi les fichiers Word, mais si je cherche à en
ouvrir un, XL me dit que le format n'est pas valide. Ce qui est normal, puis
que je suis dans XL...

Donc ma recherche était de trouver une solution pour qu'en cliquant sur un
bouton, le répertoire cible s'ouvre, mais pas la fenêtre XL "Ouvrir" qui ne
me permet pas d'ouvrir des fichiers Word.

Conclusion : si "Ouvrir un répertoire n'existe pas", il faut que je trouve
une solution avec un hyperlien car avec un hyperlien, c'est possible
d'ouvrir un répertoire.
Dans une cellule
=LIEN_HYPERTEXTE("C:Program Files";"Ouvrir Program Files")
En vba, je ne sais pas encore...

Donc ma question pourrait se transformer en "Comment affecter un hyperlien à
un bouton ?"




"LSteph" a écrit dans le message de news:
%
Bonjour,

J'ai proposé deux solutions et l'une des deux
proposée autrement aussi par MichDenis.

l'utilisateur le choix des fichiers Word '(ici on est sur excel)
Ouvrir un répertoire n'existe pas,

on change de répertoire ou on affiche le contenu d'un répertoire
ces deux commandes figurent dans ce que je t'ai suggèré (*)
la boîte de dialogue d'ouverture de fichier est intégrée à excel
est l'équivalent de ce que fait Windows, pour plus une fois dedans clic
droit explorer.
Type de fichier te permet de changer.
A cet égard mieux vaudrait repréciser l'objectif
s'il est différent de ce que tu as demandé.

(*)Pour rappel:

Sub ChercheDossier()
Dim chemin As String, objShell As Object, objfolder As Object
Set objShell = CreateObject("Shell.Application")
Set objfolder = objShell.BrowseForFolder(0, Message, 0, "c:")
On Error GoTo fin
chemin = objfolder.parentfolder.ParseName(objfolder.Title).Path
ChDir chemin
Application.Dialogs(xlDialogOpen).Show
Exit Sub
fin:
MsgBox "vous n'avez pas validé de choix correct"
End Sub

Cordialement
lSteph

Merci LSteph et MichDenis?

Vos propositions m'amènent à la boîte de dialogue d'ouverture de fichier,
mais moi, ce que je cherche, c'est à ouvrir le répertoire dans Windows,
sans poser de question car il s'agit de voir ce qu'il contient pour
laisser à l'utilisateur le choix des fichiers Word à ouvrir... Nul n'est
parfait...
Je cherche donc à passer dans Windows, avec le répertoire ouvert, un peu
à la manière d'un hyperlien qui pointe sur un répertoire.
J'avais pensé écrire l'hyperlien dans une cellule et de le déclencher
(?), mais j'ose imaginer que ça doit pouvoir se faire à la volée,
directement en VBA.

"Jac" a écrit dans le message de news:

Bonjour à tous,

je suis à la recherche de l'instruction magique qui va me permettre de
lancer l'ouverture du répertoire dont je connais le nom.
Ouvrir un fichier xls, j'arrive, mais ouvrir un répertoire, je bloque.

Merci d'avance à qui me mettra sur la voie.










Avatar
Jac
Parfait, ça répond à mon besoin.

Merci encore.

Jac

"LSteph" a écrit dans le message de news:

Shell "explorer.exe c:test", 1

Cordialement.

lSteph

Bonjour JPS,

la macro que tu affiches là fonctionne très bien, mais "ça" me propose
d'ouvrir des fichiers XL parmi les fichiers XL qui apparaissent dans la
fenêtre d'ouverture de fichiers d'XL.
Moi, ce que je recherche, c'est d'afficher en dehors d'XL, dans
l'explorer de Windows, le répertoire cible afin que l'utilisateur puisse
ouvrir directement par double clic les fichiers Word qu'il désire.

"jps" a écrit dans le message de news:
%
bonjour jac
ce que t'a pondu MichDenis ne correspond-il pas à ce que tu souhaites?
(deux fois "pondre" dans une même phrase un jour de Pâques, faut déjà le
faire...oeuf corse)
j'ai testé cela :

Sub test()
Dim Rep As String
Rep = "C:mes documentssauvegarde automatique" 'Chemin et répertoire à
ouvrir
If Dir(Rep, vbDirectory) <> "" Then
Application.Dialogs(xlDialogOpen).Show Rep
Else
MsgBox "Chemin introuvable"
End If
End Sub

et ça m'affiche bien l'explorateur ouvert à la hauteur du
sous-répertoire "sauvegarde automatique" où je n'ai plus qu'à choisir le
fichier qui va bien....
à moins que je ne comprenne pas ce que tu veux dire par "ouvrir le
répertoire dans Windows"
jps

"Jac" a écrit dans le message de news:

Merci LSteph et MichDenis?

Vos propositions m'amènent à la boîte de dialogue d'ouverture de
fichier, mais moi, ce que je cherche, c'est à ouvrir le répertoire dans
Windows, sans poser de question car il s'agit de voir ce qu'il contient
pour laisser à l'utilisateur le choix des fichiers Word à ouvrir... Nul
n'est parfait...
Je cherche donc à passer dans Windows, avec le répertoire ouvert, un
peu à la manière d'un hyperlien qui pointe sur un répertoire.
J'avais pensé écrire l'hyperlien dans une cellule et de le déclencher
(?), mais j'ose imaginer que ça doit pouvoir se faire à la volée,
directement en VBA.


"Jac" a écrit dans le message de news:

Bonjour à tous,

je suis à la recherche de l'instruction magique qui va me permettre de
lancer l'ouverture du répertoire dont je connais le nom.
Ouvrir un fichier xls, j'arrive, mais ouvrir un répertoire, je bloque.

Merci d'avance à qui me mettra sur la voie.

Jac











Avatar
Jac
Ça y est, LSteph vient de me proposer la solution (10:26) que je n'avais pas
vue avant l'envoi de cette prose...

Il s'agit de Shell "explorer.exe c:test", 1

C'est court, simple et efficace. Juste ce qu'il me fallait.

Merci encore à tous les contributeurs.

Jac



"Jac" a écrit dans le message de news:

C'est vrai, ici on est sur XL.

Mais c'est dans une feuille XL que je cherche à mettre un bouton qui ouvre
un répertoire dont je calcule le chemin en fonction du contenu de
certaines cellules et de l'Active Workbook Path. Et comme ce répertoire
contient des fichiers Word que j'ai créé via des fusions avec les données
de mon classeur XL, à un moment donné, j'ai besoin de consulter ou
d'imprimer certains documents Word.
Mais quand je suis dans la fenêtre XL d'ouverture de fichiers, si je
choisis tous les fichiers, je vois aussi les fichiers Word, mais si je
cherche à en ouvrir un, XL me dit que le format n'est pas valide. Ce qui
est normal, puis que je suis dans XL...

Donc ma recherche était de trouver une solution pour qu'en cliquant sur un
bouton, le répertoire cible s'ouvre, mais pas la fenêtre XL "Ouvrir" qui
ne me permet pas d'ouvrir des fichiers Word.

Conclusion : si "Ouvrir un répertoire n'existe pas", il faut que je trouve
une solution avec un hyperlien car avec un hyperlien, c'est possible
d'ouvrir un répertoire.
Dans une cellule
=LIEN_HYPERTEXTE("C:Program Files";"Ouvrir Program Files")
En vba, je ne sais pas encore...

Donc ma question pourrait se transformer en "Comment affecter un hyperlien
à un bouton ?"




"LSteph" a écrit dans le message de news:
%
Bonjour,

J'ai proposé deux solutions et l'une des deux
proposée autrement aussi par MichDenis.

l'utilisateur le choix des fichiers Word '(ici on est sur excel)


Ouvrir un répertoire n'existe pas,
on change de répertoire ou on affiche le contenu d'un répertoire
ces deux commandes figurent dans ce que je t'ai suggèré (*)
la boîte de dialogue d'ouverture de fichier est intégrée à excel
est l'équivalent de ce que fait Windows, pour plus une fois dedans clic
droit explorer.
Type de fichier te permet de changer.
A cet égard mieux vaudrait repréciser l'objectif
s'il est différent de ce que tu as demandé.

(*)Pour rappel:

Sub ChercheDossier()
Dim chemin As String, objShell As Object, objfolder As Object
Set objShell = CreateObject("Shell.Application")
Set objfolder = objShell.BrowseForFolder(0, Message, 0, "c:")
On Error GoTo fin
chemin = objfolder.parentfolder.ParseName(objfolder.Title).Path
ChDir chemin
Application.Dialogs(xlDialogOpen).Show
Exit Sub
fin:
MsgBox "vous n'avez pas validé de choix correct"
End Sub

Cordialement
lSteph

Merci LSteph et MichDenis?

Vos propositions m'amènent à la boîte de dialogue d'ouverture de
fichier, mais moi, ce que je cherche, c'est à ouvrir le répertoire dans
Windows, sans poser de question car il s'agit de voir ce qu'il contient
pour laisser à l'utilisateur le choix des fichiers Word à ouvrir... Nul
n'est parfait...
Je cherche donc à passer dans Windows, avec le répertoire ouvert, un peu
à la manière d'un hyperlien qui pointe sur un répertoire.
J'avais pensé écrire l'hyperlien dans une cellule et de le déclencher
(?), mais j'ose imaginer que ça doit pouvoir se faire à la volée,
directement en VBA.

"Jac" a écrit dans le message de news:

Bonjour à tous,

je suis à la recherche de l'instruction magique qui va me permettre de
lancer l'ouverture du répertoire dont je connais le nom.
Ouvrir un fichier xls, j'arrive, mais ouvrir un répertoire, je bloque.

Merci d'avance à qui me mettra sur la voie.










1 2