Bonjour à tous,

J'ai un petit problème pour récupérer le nom complet d'un classeur.
Dans un fichier Excel que j'ai développé, il y a une macro qui permet de préparé un mail (PJ, Sujet, Body et surtout un lien vers le fichier Excel)
Voilà le code simplifié :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CreationMail()
    On Error GoTo err_outlook
 
    Dim WB As Workbook:                         Set WB = ThisWorkbook
    Dim MonApply As New Outlook.Application:    Set MonApply = Outlook.Application
    Dim MonMail As Outlook.MailItem:            Set MonMail = MonApply.CreateItem(olMailItem)
    Dim strHTML As String
        strHTML = strHTML & "<a href=""" & WB.FullName & """>" & WB.Name & "</a><BR>"
        With MonMail
            .Recipients.Add ("Mon Destinataire")
            .Subject = "Mon Sujet"
            .HTMLBody = strHTML
            .Display
        End With
Fin:
    Set MonApply = Nothing
    Set MonMail = Nothing
    Set WB = Nothing
        Exit Sub
err_outlook:
    'Gestion de l'erreur
        Resume Fin
End Sub
Ce fichier est un modèle sur le réseau qui est dupliqué et utilisé par une vingtaine de personnes.
Le problème arrive, certain de ces utilisateurs ont ajoutés un emplacement réseau dans leurs explorateur Windows
Par exemple : Mon espace (\\lien réseau\Dossier\Sous dossier) (A:)

Du coup une fois sur le fichier Excel, ThisWorkbook.FullName ne renvoie pas
\\lien réseau\Dossier\Sous dossier\Fichier.xlsb
mais
a:\Fichier.xlsb
Le lien dans le mail devient donc inutilisable pour toutes personnes recevant le mail et n'ayant pas le même emplacement réseau de paramétré.

Existe-t-il donc un moyen de récupérer le nom complet du fichier sans prendre en compte les éventuels emplacements réseau personnalisés par l'utilisateur ?

Merci d'avance pour l'intérêt que vous allez accorder à mon problème.
Bonne journée tout le monde.