Amélioration macro outlook

  • Initiateur de la discussion Initiateur de la discussion ironangel
  • 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 !

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
 
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"
 
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
 
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"
 
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,
 
- 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
4
Affichages
742
Réponses
4
Affichages
595
Retour