Macro Mail personalisé

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 !

barry white

XLDnaute Occasionnel
Bonjour à tous

Petit pb avec ma macro, j en suis sure que c'est un truc tout simple.

J'ai ecris une macro qui permet de faire un mail personalisé. Donc j'utilise un modele de mail outlook de type OFT. Dans ce mail, je dois mentioner des dates. ces dates sont reprise dans plusieurs cellules d'un classeur excel.
Les dates sont du type ex : 5 Juin 2009 dans mon model de mail apres passage de ma macro, la date apparait en 05/06/2009.

Donc ma question est, comment je fais pour que dans mon mail il apparait bien le 5 juin 2009, malgré le bon format dans ma cellule.

Voici le code :
Code:
Sub COMM_AGENCE()

    
   Dim nomDEC, nomodeoUT, dateDem, DateVCTSam, DateVctLun, DateMarHHO, nomcf, dtearpdEM, Num_ligne, comJ1, jourDEM, jourDEM1 As String
   Dim ti, mail, n As Variant
   Dim I, nbf As Integer
   Dim Ol As New Outlook.Application
   Dim olmail As MailItem

Num_ligne = InputBox("numéro de ligne")

nomDEC = Range("R" & Num_ligne)
nomDEC = Range("S" & Num_ligne)
dateDem = Range("T" & Num_ligne)
DateVCTSam = Range("U" & Num_ligne)
DateVctLun = Range("V" & Num_ligne)
DateMarHHO = Range("W" & Num_ligne)
dtearpdEM = Range("X" & Num_ligne)
comJ1 = Range("Y" & Num_ligne)
jourDEM = Range("Z" & Num_ligne)
jourDEM1 = Range("AA" & Num_ligne)

nomodeoUT = "c:\model.oft"

'Creation de l'objet e-mail
    
    Set AppOut = CreateObject("Outlook.Application")
    Set omailitem = CreateItemFromTemplate(nomodeoUT)
    
'Caractéristiques de l'e-mail
    With omailitem
    .To = (mail)
    .Subject = "MISTRAL - Actions à réaliser en agence - " & nomDEC & " - Centre fort " & nomcf
    .BodyFormat = olFormatHTML
    .HTMLBody = Replace(omailitem.HTMLBody, "DTEDEM", dateDem)
    .HTMLBody = Replace(omailitem.HTMLBody, "DTEVCTSAM", DateVCTSam)
    .HTMLBody = Replace(omailitem.HTMLBody, "DTEVCTLUN", DateVctLun)
    .HTMLBody = Replace(omailitem.HTMLBody, "HHOMAR", DateMarHHO)
    .HTMLBody = Replace(omailitem.HTMLBody, "COMJ1", comJ1)
    .HTMLBody = Replace(omailitem.HTMLBody, "JOURDEM", jourDEM)
    .HTMLBody = Replace(omailitem.HTMLBody, "JOURDEM1", jourDEM1)
    .HTMLBody = Replace(omailitem.HTMLBody, "ARPDEM  ", dtearpdEM)


.Display
End With

End Sub

Merci pour vos aides! 😀 😉 🙂
 
Re : Macro Mail personalisé

Salut Barry White (j'adore ton timbre de voix 😉😀)

Il faut utiliser la fonction : Format()

Exemple :
Code:
dateDem = [COLOR=blue]Format([/COLOR]Range("T" & Num_ligne[COLOR=blue][COLOR=black])[/COLOR],"dd mmmm yyyy")[/COLOR]

Voili, voilà 😉

A+
 
Re : Macro Mail personalisé

Nikel Exactement ce que je voulais!!! Merci! 😀

Par contre Question plus poussé pour un champion 😉

Je n'arrive pas a mettre une majusule à la 1er lettre du jour ex:"Samedi 19 juin".

Bon sachant que dans mon cas, j'ai mis le samedi en "fixe" dans le model de mail (Mon message de comm tombe tout le temps un samedi). Par contre le cas ou j'ai besoin que le jour sois variable comment je mets cette majuscule?

J'ai testé

Code:
dateDem = Format(Range("T" & Num_ligne),"Dddd dd mmmm yyyy")

Pas marché.

Ps : Je sais j'ai une tres belle voix lol
 
- 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
17
Affichages
2 K
S
Réponses
6
Affichages
2 K
soNZOOO
S
E
Réponses
1
Affichages
1 K
V
Réponses
1
Affichages
2 K
gig83500
G
S
Réponses
10
Affichages
4 K
Sylvain29
S
Retour