Amélioration macro outlook

ironangel

XLDnaute Occasionnel
Bonjour le forum,

Je vous sollicite encore une fois car je me trouve devant un probleme:
Je possède actuellement une macro qui me permet lorsque j'entre des données dans des cellules, d'ouvrir automatiquement un mail outlook reprenant les infos de la derniere ligne complété.
J'aimerais l'améliorer en ajoutant un message type avant qu'ils introduisent les infos des cellules complétés:

Pour exemple: j'aimerais ajouter ajouter un message du genre "Bonjour..." puis copier les données de mes cellules et finir par un "Cordialement"

Je joins la macro pour infos:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Byte 'déclare la variable x
Dim Msg As String
Dim Subj As String
Dim URLto As String

If Target.Column <> 4 Then Exit Sub 'condition si l'édition a lieu ailleurs que dans la colonne D, sort de la procédure
'oblige à renseigner les colonnes A, B et C et D
For x = 1 To 3 'boucles sur les colonnes A, B et C
If Cells(Target.Row, x) = "" Then Exit Sub 'si la cellule est vide, sort de la procédure
Next x

Subj = Cells(Target.Row, 1)
Msg = Cells(Target.Row, 1) & " " & Cells(Target.Row, 3) & " " & Cells(Target.Row, 4)

URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto


End Sub


Merci d'avance pour votre temps et votre aide
Amicalement
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Amélioration macro outlook

Bonjour

remplace cette ligne

Msg = Cells(Target.Row, 1) & " " & Cells(Target.Row, 3) & " " & Cells(Target.Row, 4)

par

Msg = "Bonjour" & VBCRLF & Cells(Target.Row, 1) & " " & Cells(Target.Row, 3) & " " & Cells(Target.Row, 4) & Vbcrlf & "Cordialement"
 

ironangel

XLDnaute Occasionnel
Re : Amélioration macro outlook

Bonjour, merci pour ton aide pascal

Dit moi, comment je peux faire pour que le "bonjour" soit sur une ligne, que 2-3 lignes plus bas, il y ai mon message concaténé et enfin que le cordialement soit 2-3 lignes plus bas que le message.

Merci d'avances pour ton aide
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Amélioration macro outlook

re

essaies

Msg = "Bonjour" & VBCRLF & VBCRLF & VBCRLF & VBCRLF & Cells(Target.Row, 1) & " " & Cells(Target.Row, 3) & " " & Cells(Target.Row, 4) & Vbcrlf & Vbcrlf & Vbcrlf & Vbcrlf & "Cordialement"
 

myDearFriend!

XLDnaute Barbatruc
Re : Amélioration macro outlook

Bonsoir ironangel, PascalXLD, le Forum,

Sauf mauvaise interprétation de ma part :

Un retour à la ligne = la chaine "%0D%0A"

Tu devrais donc pouvoir utiliser quelque chose comme ça :
Code:
Msg = "Bonjour%0D%0A%0D%0A" & Cells(target.Row, 1) & " " & Cells(target.Row, 3) & " " & Cells(target.Row, 4) & "%0D%0ACordialement"
Cordialement,
 

Statistiques des forums

Discussions
312 250
Messages
2 086 614
Membres
103 263
dernier inscrit
zarroug