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 Impliqué
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 Impliqué
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 Impliqué
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:

zebanx

XLDnaute Accro
Re-

Oui...
Je constate que tu n'as aucun problème.
;)
Je vais donc chercher de mon côté.

Merci beaucoup d'avoir regardé en tout cas. Et ta solution est une nouvelle fois bien utile.

@+
 

Dudu2

XLDnaute Impliqué
@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
 

zebanx

XLDnaute Accro
Re

Merci pour toutes ces précisions et ta célérité.
Je regarderai cela tout à l'heure ou demain, pas habitué au code HTML, ça mérite du temps parce que c'est intéressant (mais avec une vieille version d'excel en plus 2007) ;)
Et je ne veux pas non plus polluer un post qui n'est pas le mien.

Désolé à Massjpe. Ce fil est à lui.

Bon apm
 

Dudu2

XLDnaute Impliqué
Code corrigé...
VB:
.BodyFormat = 2
.Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & "<a href=""mailto:test@sfr.fr""> transfert pour accord </a>"
.HTMLBody = "<body><html>" & Replace(.Body, vbNewLine, "<BR>") & "</html></body>"
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas