Lien hypertexte vers un fichier Excel

Bonjour à tous,

Je suis entrain de développer une macro qui envoie directement un email vers la personne concernée pour qu'elle puisse accéder directement au fichier Excel d'où la macro est lancée.

Le problème est que le fichier Excel est un fichier qui va être dupliqué plusieurs fois donc au lieu d'avoir un simple chemin d'accès en lien hypertexte dans la macro il va falloir avoir un système qui permet de donner le lien hypertexte du fichier d'où a été lancé la macro.

Avez-vous une solution adéquate par rapport à la problématique svp ?

Merci d'avance.

Bonsoir,

il va falloir avoir un système qui permet de donner le lien hypertexte du fichier d'où a été lancé la macro.

Avez-vous une solution adéquate par rapport à la problématique svp ?

La solution est d'éviter le lien hypertexte.

Cordialement

Bonjour,

Merci pour votre retour.

Avez-vous un exemple de code svp ?

Bonjour

Faudrait que je vois le fichier pour vous donner le code

Cordialement

Je viens de retrouver ce lien qui répond à votre souci je pense -->

https://forum.excel-pratique.com/excel/lien-dans-hypertexte-dans-le-corps-de-mail-t75285.html

Merci, je n'arrive pas à le passer en html.

Voici ci-dessous le code :

Sub SendEmail1()

' SendEmail1 Macro

Dim olApp As Outlook.Application

Set olApp = CreateObject("outlook.application")

Dim olMail As Outlook.MailItem

Set olMail = olApp.CreateItem(olMailItem)

With olMail

.To = "xxxxxxx@xxxxxxxxxx"

.CC = "xxxxxxx@xxxxxxxxxx"

.Subject = Range("c6") & Range("e6") & " Document " & Format(Date, "dd-mm-yyyy")

.Body = "Le document est maintenant disponible" & _

vbLf & "<p><a href=""ThisWorkbook.path &" \ " & thisworkbook.name"""

corps = corps & "</BODY></HTML>"

.send

End With

End Sub

Sub SendEmail1()
' SendEmail1 Macro

Dim olApp As Outlook.Application
Set olApp = CreateObject("outlook.application")

Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)

With olMail
.To = "xxxxxxx@xxxxxxxxxx"
.CC = "xxxxxxx@xxxxxxxxxx"
.Subject = Range("c6") & Range("e6") & " Document " & Format(Date, "dd-mm-yyyy")
.Body = "Le document est maintenant disponible" & _
vbLf & "<HTML><BODY>" & "<p><a href=""ThisWorkbook.path &" \ " & thisworkbook.name"">lien vers le document</a></p>" & "<HTML><BODY>"
.send
End With
End Sub

Je ne peux pas tester mais essayez comme ceci

Lorsque vous postez un code, veillez à utiliser les balises de code disponible dans le menu --> </>

Malheureusement cela me met le débogueur en marche avec le message d'erreur "Erreur d'exécution 13 : Incompatibilité de type"

Bonjour

Essayez en remplaçant

"<HTML><BODY>" & "<p><a href=""ThisWorkbook.path &" \ " & thisworkbook.name"">lien vers le document</a></p>" & "<HTML><BODY>"

par

"<HTML><BODY>" & "<a href=""ThisWorkbook.path & " \" & thisworkbook.name"">lien vers le document</a>" & "</BODY><HTML>"

Bonjour,

Toujours le même message d'erreur d'incompatibilité de type.

Essayez comme ceci

.HTMLBody = "Le document est maintenant disponible <br><br>""
.HTMLBody = .HTMLBody + "<a href=" & "ThisWorkbook.path &" \ " & thisworkbook.name" & ">lien vers le document</a>.<br><br>"

Veillez à ce que vous avez bien activé la référence Microsoft Outlook xx.x Object Library"

La référence est bien activée.

J'ai modifié le code et j'ai toujours le débogueur qui met en surbrillance cette ligne ci-dessous.

.HTMLBody = .HTMLBody + "<a href=" & "ThisWorkbook.path &" \ " & thisworkbook.name" & ">lien vers le document</a>.<br><br>"

Voici le code en entier :

Sub SendEmail1()
' SendEmail1 Macro

Dim olApp As Outlook.Application
Set olApp = CreateObject("outlook.application")

Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)

With olMail
.To = "xxxxxxxxx@xxxxxxxxxxx"
.CC = "xxxxxxxxx@xxxxxxxxxxx"
.Subject = Range("c6") & Range("e6") & " Document " & Format(Date, "dd-mm-yyyy")
.HTMLBody = "Le document est maintenant disponible <br><br>"""
.HTMLBody = .HTMLBody + "<a href=" & "ThisWorkbook.path &" \ " & thisworkbook.name" & ">lien vers le document</a>.<br><br>"
.send
End With
End Sub

dans cette partie essayez d'enlever les " -->

ThisWorkbook.path & "\" & thisworkbook.name

Cela fonctionne, merci ! J'ai bien l''emplacement du fichier qui s'ouvre.

Savez-vous si il est possible d'ouvrir directement le fichier excel ?

Bonjour

Cordialement

Bonjour,

Il n'est pas résolu je cherche à ouvrir directement le fichier, le code que j'ai actuellement ne fait qu'ouvrir son emplacement.

Cordialement.

Est-il possible d'y ajouter la fonction Workbooks.Open afin d'ouvrir directement le fichier.

J'essaye de trouver une solution depuis plusieurs jours mais impossible d'y arriver.

Merci d'avance

Est-il possible d'y ajouter la fonction Workbooks.Open afin d'ouvrir directement le fichier.

Non. Cet événement est déclenché à l'ouverture du fichier excel.

Sauf avis contraire, le lien hypertexte ne sert qu'à ouvrir le répertoire mais cela ne va pas ouvrir le fichier. Si vous voulez ouvrir le fichier depuis le lien placé dans Outlook, je pense qu'il faut programmer via Outlook.

Bonsoir,

Pas certains mais si outlook régit comme un navigateur alors l'ouverture du fichier ne sera pas effectué par mesure de sécurité.

voir un article anglais https://stackoverflow.com/questions/18246053/how-can-i-create-a-link-to-a-local-file-on-a-locally-ru...

Rechercher des sujets similaires à "lien hypertexte fichier"