Microsoft 365 transfert email

MASSJIPE

XLDnaute Impliqué
Bonjour le forum

Est-il possible de faire ceci.

J’ai un fichier Excel (bon de commande) je clic sur un bouton qui envoi le fichier à un destinataire.

Ma question je voudrais que quand le destinataire reçoit le mail celui clic soit sur un lien nommé (transfert pour accord) dans le corps du message qui revoit le mail à un destinataire ex test@sfr.fr
Cordialement
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Je suppose que dans le .Body de ton mail (quel type ? CDO, OutLook ?) qui doit être en format HTML il faut insérer un truc du genre <a href="mailto:test@sfr.fr"> transfert pour accord </a>.

Tu as aussi la possibilité de demander un accusé de réception.
D.
 

MASSJIPE

XLDnaute Impliqué
Bonjour
voici le code comment l'intégrer
VB:
Sub mail()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)

CurFile = ThisWorkbook.Path & "\" & "Commande PHF.Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = Sheets("Bon de commande").Range("B7").Value

.CC = ""
.Subject = "Commande PHF"
.Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & ""
.Attachments.Add CurFile

.Display '.Send
End With
'MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub
 

Dudu2

XLDnaute Barbatruc
Bonjour,
dans le .Body mais en format HTML.
.Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & "" & "<a href=""mailto:test@sfr.fr""> transfert pour accord </a>"
.Body = Replace(.Body, vbNewLine, "<BR>")
.BodyFormat = 2
 
Dernière édition:

MASSJIPE

XLDnaute Impliqué
Bonjour
J'ai un soucis sur la ligne en rouge sur mailto:
VB:
Sub mail()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)

CurFile = ThisWorkbook.Path & "\" & "Commande PHF.Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = Sheets("Bon de commande").Range("B7").Value

.CC = "valerie.masson@renault.com;jean-paul.masson@renault.com"
.Subject = "Commande PHF"
[COLOR=rgb(184, 49, 47)].Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & "" & "<a href="mailto:test@sfr.fr"> transfert pour accord </a>"[/COLOR]
.Body = Replace(.Body, vbNewLine, "<BR>")
.BodyFormat = 2
.Attachments.Add CurFile

.Display '.Send
End With
'MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub
 

zebanx

XLDnaute Accro
Bonjour Massjipe, Dudu2, le forum

@Dudu2
Très intéressant.:)
Excusez moi par avance pour la pollution du fil mais dans le mail à envoyer la phrase suivante apparait.
<a href="mailto:test@sfr.fr"> destinataire </a>

Je ne sais pas si Massjipe a le même problème mais est il SVP possible de ne faire apparaitre que le lien hypertexte sous la forme ? : "mailto:test@sfr.fr"
Pour le mot destinataire, c'est simple à supprimer. Pour les sigles HTML en utiliant l'instruction ".body = ...", est-ce possible à faire de manière simple ?

Merci par avance pour vos précisions.

Bon apm
 

MASSJIPE

XLDnaute Impliqué
Bonjour
Voila ce que j'ai en message
Mais en relisant pour premier message j'ai fait une erreure de frappe c'est renvoi et pas revoit
(Ma question je voudrais que quand le destinataire reçoit le mail celui clic soit sur un lien nommé (transfert pour accord) dans le corps du message qui renvoit le mail à un destinataire ex test@sfr.fr )
Bonjour <BR>Ci-joint Bon de commande PHF <BR>Cordialement <BR><a href="mailto:test@sfr.fr"> transfert pour accord </a> <BR>
 

Dudu2

XLDnaute Barbatruc
Il n'y a aucune difficulté à faire ça.
Hormis la double-quote dans la chaine qui est un problème de syntaxe basique VBA, on peut mettre des doubles, des simples quotes ou même rien du tout.
VB:
.Body = "Ci-joint Bon de commande PHF <BR>Cordialement <BR><a href='mailto:test@sfr.fr'> transfert pour accord </a> <BR>"

2020-04-28_142054.jpg


@zebanx, tu as bien mis .BodyFormat = 2 pour le HTML ?
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
@zebanx,
Je ne sais pas si Massjipe a le même problème mais est il SVP possible de ne faire apparaitre que le lien hypertexte sous la forme ? : "mailto:test@sfr.fr"
Tu mets simplement <a href='mailto:test@sfr.fr'>mailto:test@sfr.fr</a>

Pour le mot destinataire, c'est simple à supprimer. Pour les sigles HTML en utiliant l'instruction ".body = ...", est-ce possible à faire de manière simple ?
Tu peux utiliser un module de conversion texte vers HTML.
On en trouve sur le Web mais je peux t'en passer un si tu veux.
Ou encore Convert contents of a formatted excel cell to HTML format
D.
 
Dernière édition:

MASSJIPE

XLDnaute Impliqué
Pour moi c'est du chinois je comprend rien j'ai inclu t'on code dans le mien
et c'est ca qui m'intéresse
1588077982229.png

VB:
Sub mail()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)

CurFile = ThisWorkbook.Path & "\" & "Commande PHF.Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = Sheets("Bon de commande").Range("B7").Value

.CC = ""
.Subject = "Commande PHF"
.Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & "" & "<a href=""mailto:test@sfr.fr""> transfert pour accord </a>"
.Body = Replace(.Body, vbNewLine, "<BR>")
.BodyFormat = 2
.Attachments.Add CurFile

.Display '.Send
End With
'MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo