Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro hyperlien vers Outlook

  • Initiateur de la discussion Initiateur de la discussion vmax67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vmax67

XLDnaute Occasionnel
Bonjour

j'ai une macro qui fonctionne bien à condition d'indiquer le chemin du fichier à ouvrir.
J'aimerai que le lien soit repris depuis la cellule A1. Voir code ci-dessous.

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "body of email" & "<a href=""D:\Fichier1.xlsm""> ici</a>" & " Merci"

strbody = "body of email" & "<a href=""Chemin pris dans cellule A1""> ici</a>" & " Merci"

On Error Resume Next
With OutMail
.To = "whoever@microsoft.com"

.Subject = "Hyperlien"
.HTMLBody = strbody
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Par avance Merci.

Vmax
 
Bonjour le fil, le forum

Un exemple à tester
VB:
Sub test()
Dim OutApp As Object, OutMail As Object, strbody$, FileCell As Range
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
'(ici adapter le nom de la feuille et la cellule contenant
'le chemin du fichier
'ex de contenu valide en A1: "D:\Fichier1.xlsm"
Set FileCell = Sheets(1).Range("A1")
With OutMail
    .To = "whoever@microsoft.com"
    .Subject = "Test"
    .Body = "Message de test"
    If Trim(FileCell) <> "" Then
        If Dir(FileCell.Value) <> "" Then
            .Attachments.Add FileCell.Text
        End If
    End If
.Send  'ou .Display
End With
Set OutMail = Nothing
End Sub
 
Bonsoir
merci pour la réponse, mais ce n'est pas ça que je recherche.
Moi j'aimerai récupérer l’hyperlien qui se trouve en cellule A1 est le rendre actif par un clic sur içi.

Vmax
 
Re

Dans ce cas, le chemin ne peut pas pointé sur: "D:\Fichier1.xlsm"
mais plutôt \\nomdupartage\Fichier1.xlsm

*
j'ai une macro qui fonctionne bien à condition d'indiquer le chemin du fichier à ouvrir.
J'aimerai que le lien soit repris depuis la cellule A1.

NB: *Cette précision importante ne figurait pas ton premier message...
 
Re

Le but est bien de recevoir un mail avec un lien pointant sur un classeur stocké sur un serveur.
Or si ce fichier est renommé ou déplacé le lien ne sera plus valide dans le mail.

Par contre en recevant directement le fichier en PJ lors de l'envoi du mail, au moins on est sûr d'avoir un fichier.

Quand à la praticité, pourquoi chaque utilisateur ne connecte pas un lecteur réseau qui pointe vers le dossier où est stocké ce classeur
(en cochant Se reconnecter lors de la connexion) ?
C'est ce que je fais au boulot.
Quelque soit le PC sur lequel je me connecte j'ai accès à cette ressource.
 
Re

Lis plus attentivement ma réponse
Or si ce fichier est renommé ou déplacé le lien ne sera plus valide dans le mail.

NB: Où ai-je écris que je ne voulais pas t'aider?
Sauf preuve du contraire, je ne vois pas comment insérer un lien (hyperlink) si le fichier change constamment de de nom ou de dossier.
 
regarde mon code, le chemin et le nom du fichier même s'il change de nom se touve toujours dans le cellule A1.

trbody = "body of email" & "<a href=""Chemin pris dans cellule A1""> ici</a>" & " Merci"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
917
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
574
Réponses
17
Affichages
2 K
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
980
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…