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

Macro hyperlien vers Outlook

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
 

Staple1600

XLDnaute Barbatruc
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
 

vmax67

XLDnaute Occasionnel
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
 

Staple1600

XLDnaute Barbatruc
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...
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@wmax67
Pourquoi tu tiens absolument à privilégier cette voie?
Ce n'est pas plus simple (et plus sûr) de joindre le fichier en PJ comme le fait mon code du message#2
 

vmax67

XLDnaute Occasionnel
Pour des raisons pratique, après consultation le personnel préfère avoir accès directement au fichier plutôt que de l’enregistrer sur le serveur, qui plus et au mauvais endroit.
 

Staple1600

XLDnaute Barbatruc
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.
 

Staple1600

XLDnaute Barbatruc
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.
 

vmax67

XLDnaute Occasionnel
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"
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…