Récupérer le nom d'un fichier

Bonjour tout le monde,

je fais appel à l'équipe pour un problème que je ne parviens pas à régler.

Merci de me lire.

Sur l'intranet de mon boulot, un fichier XLS (dont le nom change en fonction du fonctionnaire qui a posté la dernière MAJ) renseigne l'horaire général.

J'ai intercepté facilement le chemin et Workbooks.Open accepte la mise en variable des deux derniers sous-répertoires (qui varient régulièrement aussi).

Là où ça capote, c'est l'impossibilité d'intercepter le nom de ce fichier (qui est tout seul, je le sais, dans son répertoire). Même si je triche en plaçant en variable le nom de ce fichier, une erreur se produit à la tentative d'ouverture.

[b]Fonctionne pas

[/b]

sFile = Dir("http://ep...ov.be/files/billet/mp/" & CStr(Year(Now) - 2000) & "/" & Format(Month(Now), "00") & "/" & "*.*")
Set sWkbBGS = Workbooks.Open("http://ep...ov.be/files/billet/mp/" & CStr(Year(Now) - 2000) & "/" & Format(Month(Now), "00") & "/" & sFile)

Fonctionne

Set sWkbBGS = Workbooks.Open("http://ep...ov.be/files/billet/mp/" & CStr(Year(Now) - 2000) & "/" & Format(Month(Now), "00") & "/" & "MP_0.xls")

Si quelqu'un a une idée...

Merci.

A+

Bonjour

Si le fichier est seul

nomFichier=dir(chemin & "*.xls*")

te donnera le nom...

Bonsoir 78chris,

merci de te pencher sur mon souci.

Ta proposition a été la première chose que j'avais codée, sans succès = Erreur 52 : nom ou numéro de fichier incorrect.

A+

Le forum,

Ce post donne le code (le premier de Theze dans ce thread) pour lister les fichiers dans un répertoire.

Peut-il être utile ?

https://forum.excel-pratique.com/viewtopic.php?t=32735

Jim

Salut Jim,

merci pour ton intervention mais c'est un code que j'ai déjà testé en vain.

Cela fonctionne très bien, effectivement, quand il est appliqué sur un répertoire "traditionnel" (C:/...) mais, dans mon cas, dans l'intranet du boulot, il déclenche systématiquement une erreur 52.

Les recherches continuent...

A+

Bonjour

Http: est-il considéré comme un dossier par Windows et Excel ? Pas sûr...

Bonjour

Toujours dans le principe que le fichier est seul :

Set sWkbBGS = Workbooks.Open("http://ep...ov.be/files/billet/mp/" & CStr(Year(Now) - 2000) & "/" & Format(Month(Now), "00") & "/" & "*.xls*")

???

A+

Eventuellement as_tu vu ce lien chinois ??

https://support.microsoft.com/fr-fr/help/184816/run-time-error-52-trying-to-open-component-library

ou cela ?

fich = "//ep...ov.be/files/billet/mp/" & CStr(Year(Now) - 2000) & "/" & Format(Month(Now), "00") & "/"
Set sWkbBGS = Workbooks.Open(chemin & "*.xls*")

Bonjour,

Si c'est un intranet ... ce lien mentionne ceci

https://www.pcreview.co.uk/threads/bad-file-name-or-number-accesing-sharepoint-folder.3895812/

A web server is not a filesystem (OK I know it is underneath, but it's not
exposed in the same way).
Being able to open a file in Excel from a http location is just an added
convenience, but you can't use Dir() on a http location,

If this is an intranet situation then you may be able to map a drive on to
the shareweb server:
\\xx\xx\CIS\Shared Documents\

Provided you have access privileges that is.

Jim

Salut Jim,

Salut à l'équipe,

tu as probablement raison... et je n'ai pas les accès aux serveurs!

J'ai donc pris mon bâton de pèlerin et demandé aux collègues en charge de l'horaire d'harmoniser le nom de leur fichier (chacun a le sien sur son PC) afin de me permettre d'ouvrir celui-ci sans plus me préoccuper de DIR.

J'en saurai plus dans quelques jours.

Affaire à suivre, donc!

Merci à tous de vous être penchés sur mon problème!

A+

Rechercher des sujets similaires à "recuperer nom fichier"