Remplir Mails selon tableau comme base de données
Bonjour Juice,
Je crois t'avoir envoyé un MP mais il reste dans ma boite d'envoi alors que c'était marqué envoyé ... à n'y rien comprendre ^^
Tu as bien reçu ou je m'y suis mal pris ?
Merci
Bien reçu !
Désolé j'étais en congé et n'est pas pu consulter ma boîte :p
Je regarde maintenant
Bonjour à tous,
Je continue dans mon projet qui avance pas à pas grâce notamment à l'aide de Juice !
Ce projet consiste à faire des mails en fonction d'une base de données.
Je me permets d'écrire un nouveau commentaire car je voudrais que le texte généré dans mon mail par le code VBA soit mis en forme, je met en pièce jointe deux images, la 1ère résulte du mail généré quand je lance ma macro et la 2ème c'est le mail comme je souhaiterais qu'il soit mis en forme.
J'ai donc besoin de votre aide pour mettre en forme le texte directement dans le code VBA mais également pour retirer les interlignes et que le mail soit lisible comme sur l'image 2.
Voici mon code :
Sub Mail_Intervention_Refacturée()
Dim cell As String
cell = ActiveCell.Row
Set O = New Outlook.Application
Set Mess = O.CreateItem(olMailItem)
Email1 = Range("K" & cell).Value
Email2 = Range("L" & cell).Value
Email3 = Range("M" & cell).Value
Code = Range("B" & cell).Value
Site = Range("A" & cell).Value
Jour = Range("N" & cell).Value
Comm = Range("F" & cell).Value
Resp1 = Range("G" & cell).Value
Resp2 = Range("H" & cell).Value
Adresse = Range("C" & cell).Value
CodePostal = Range("D" & cell).Value
Ville = Range("E" & cell).Value
Respcomm = Range("I" & cell).Value
Mess.To = Email1 & ";" & Email2 & ";" & Email3
Mess.CC = Comm & ";" & Resp1 & ";" & Resp2 & ";" & Respcomm
Mess.Subject = "Intervention " & Site & " du " & Jour & " - " & Code
Mess.Body = "Bonjour," & vbCr & vbCr & "Je tiens à vous informer que nous avons effectué une intervention sur votre site " & Adresse & " " & CodePostal & " " & Ville & " liée à la présence de personnels." & _
vbCr & "Vous trouverez ci-joint le rapport lié au déplacement de notre intervenant ainsi que la vidéo correspondante à l'intrusion." & vbCr & vbCr & _
"Conformément à nos accords, cette intervention vous sera donc refacturée." & vbCr & vbCr & _
"Pour rappel ci-dessous la procédure à suivre :" & vbCr & vbCr & _
"Présence d'ouvriers sur site pendant les horaires de surveillance + week-ends + jours fériés." & vbCr & vbCr & _
"Nous avertir par mail à technique@gmail.com, 24H avant (au plus tard le vendredi à 17h)." & vbCr & vbCr & _
"Sans notification de votre part à technique@gmail.com, l'intervention effectuée suite à cette présence non-signalée vous sera facturée 90,00€ HT." & vbCr & vbCr & _
"Merci de transférer et faire appliquer cette procédure aux entreprises travaillant sur votre site." & vbCr & vbCr
Mess.Display
Set Mess = Nothing
Set O = Nothing
End SubMerci pour votre aide très précieuse !
A bientôt la communauté !
Bonjour Christophe,
Je me suis finalement renseigné sur les mails en HTML permettant de choisir le format que tu souhaite
Alors si j'ai tout compris il faut rajouter ceci pour informer le code que tu veux un mail au format HTML :
With a
.BodyFormat = olFormatHTML
End WithEt dans le point où tu indique le corps de ton mail, il faut commencer ainsi :
.HTMLBody = "<HTML><body>Pour souligné un texte, il faut procéder ainsi :
.HTMLBody = "<HTML><body><u>Mon mot,</u>"Pour mettre un texte en rouge, il faut procéder ainsi :
.HTMLBody = "<HTML><body><FONT COLOR=RED>Mon mot,</FONT>Enfin pour mettre un texte en gras, il faut procéder ainsi :
.HTMLBody = "<HTML><body><b>Mon mot,</b>Voilà
Re bonjour Juice ! (Mon SAUVEUR
Merci beaucoup de t'être renseigné pour moi !
A te lire celà semble si facile mais pourtant je n'y arrive pas lol.
Peux-tu me dire où rajouter le code dans mon code ci-dessous : Ensuite je pourrais me mettre à la mise en forme quand je pourrais faire mes essais
With a
.BodyFormat = olFormatHTML
End WithSub Mail_Intervention_Normale()
Dim cell As String
cell = ActiveCell.Row
Set O = New Outlook.Application
Set Mess = O.CreateItem(olMailItem)
Email1 = Range("K" & cell).Value
Email2 = Range("L" & cell).Value
Email3 = Range("M" & cell).Value
Code = Range("B" & cell).Value
Site = Range("A" & cell).Value
Jour = Range("N" & cell).Value
Comm = Range("F" & cell).Value
Resp1 = Range("G" & cell).Value
Resp2 = Range("H" & cell).Value
Adresse = Range("C" & cell).Value
CodePostal = Range("D" & cell).Value
Ville = Range("E" & cell).Value
Respcomm = Range("I" & cell).Value
'Destinataire(s) Mails --------------------------------------------------
Mess.To = Email1 & ";" & Email2 & ";" & Email3
'Destinataire(s) en copie Mails -----------------------------------------
Mess.CC = Comm & ";" & Resp1 & ";" & Resp2 & ";" & Respcomm
'Objet du Mail ----------------------------------------------------------
Mess.Subject = "Intervention " & Site & " du " & Jour & " - " & Code
'Corps du Mail ----------------------------------------------------------
Mess.Body = "Bonjour," & _
vbCr & _
vbCr & "Je tiens à vous informer que nous avons effectué une intervention sur votre site " & Adresse & " " & CodePostal & " " & Ville & "." & _
vbCr & "Vous trouverez ci-joint le rapport lié au déplacement de notre intervenant ainsi que la vidéo correspondante à l'intrusion." & vbCr & vbCr
'------------------------------------------------------------------------
Mess.Display
Set Mess = Nothing
Set O = Nothing
End SubRecoucou Christophe !
Bon bah du coup j'ai tapé le code pour toi !
En gros, dans ta macro actuelle tu remplace cette partie :
Mess.Body = "Bonjour," & _
vbCr & _
vbCr & "Je tiens à vous informer que nous avons effectué une intervention sur votre site " & Adresse & " " & CodePostal & " " & Ville & "." & _
vbCr & "Vous trouverez ci-joint le rapport lié au déplacement de notre intervenant ainsi que la vidéo correspondante à l'intrusion." & vbCr & vbCrPar cette partie :
.BodyFormat = olFormatHTML
.HTMLBody = "<HTML><body>" & _
"Bonjour,<p> " & _
"Je tiens à vous informer que nous avons effectué une intervention sur votre site <u>" & Adresse & "</u>. <br>" & _
"Vous trouverez ci-joint le rapport lié au déplacement de notre intervenant ainsi que la vidéo correspondante à l'intrusion. <br>" & _
"Conformément à nos accords, cette intervention vous sera donc refacturée. <p>" & _
"Pour rappel ci-dessous la procédure à suivre <p>" & _
"<FONT COLOR = RED><b> Présence d'ouvriers sur site pendant les horaires de surveillance + weeks-end + jours fériés<br>" & _
"Nous avertir par mail à <i> technique@gmail.com </i>, 24H avant (au plus tard le vendredi à 17H). </b><FONT><br>" & _
"Sans notification de votre part à technique@gmail.com, l'intervention effectuée suite à cette présence non-signalée vous sera facturée 90,00€ HT.<br>" & _
"<u>Merci de transférer et faire appliquer cette procédure aux entreprises travaillant sur votre site. </u> <FONT>"J'ai fais les test et tout fonctionne
Restant à ta dispo !
Ca fonctionne tu es un génie !
Aha x) Heureux d'avoir pu t'aider
N'oublie pas de mettre ce topic comme "résolue" ;D
A part si tu a d'autre question
Désolé de toujours t'embêter ...
J'ai encore besoin de tes lumières, je n'arrive pas à incorporer un MailTo dans le code VBA, cela me génére encore une erreur pourtant le code à l'air bon.
"Nous avertir par mail à <a href="mailto:technique@gmail.com">technique@gmail.com</a>, 24H avant (au plus tard le vendredi à 17H). </b><br>" & _Sais-tu d'où ca pourrait venir ?
Merci
Coucou Christophe
A quoi sa sert le MailTo :0 ?
Si j'arrive pas à comprendre l'utilité, je n'arriverais pas à savoir comment le faire fonctionner :p
Désolé les mails en HTML c'est nouveau pour moi aussi x)
Et aussi dans ton code tu a un <a et un autre </a> !
<a href="mailto:technique@gmail.com">technique@gmail.com</a>Je ne sais pas à quoi sers ces caractères mais tu n'aurait pas oublier de fermer le crocher de ton premier a :0 ?
Salut Juice
En fait le MailTo, c'est le fait de cliquer sur le mail pour que ça ouvre ta messagerie par défaut et créer un nouveau message avec en destinataire l'adresse que tu auras indiquer dans la balise MailTo. En gros c'est comme un lien hypertexte, il suffit de cliquer dessus pour nous envoyer un mail.
En pur HTML, ma ligne fonctionne mais pas dans le code VBA ... Du coup je suis perdu ^^
Bonsoir Juice,
C'est incompréhensible ...
Je te met en PJ un screen de mon erreur, tout à l'air OK pourtant
J'avais encore une question, j'aimerais que ce fichier soit inaccessible à partir d'une date donnée, par exemple qu'il ne peut plus être ouvert à partir de 2019, et qu'à partir de ce moment, un mot de passe soit demandé pour pouvoir l'ouvrir (pour que je puisse remodifier la date d'expiration).
Pourrais-tu m'aider là dessus stp ?
PS : C'est un fichier que je vais utiliser au travail mais que je vais partager avec d'autres utilisateurs et étant le seul à réellement m'investir dans des recherches autant poussées pour ce type de tache, j'aimerais qu'au cas où, si un jour pour X ou Y raison je ne travail plus pour cet employeur, avoir un petit moyen de pression le jour où le fichier ne fonctionnera plus
Yo Christophe !
Concernant l'erreur dans ton HTML Body, ce serais pas dû à ton <A HREF="mailto : ect ..?
Entre les crochets du <A qui n'est pas complet et la présence de guillemet, il y a quelque chose qui conviens pas sur cette ligne je pense :p
Concernant ton projet de protection de ton ficher (que je comprend parfaitement hein) je te met ci-joint un fichier protégé dont le mot de passe est ABCD
Tu a un Timer de 30 secondes pour mettre ce mot de passe, et un total de 3 tentative ! Si l'un des deux arrive à zéro alors le fichier se ferme.
Il y a aussi un contrôle du jour. Si la date du jour est égal au 01/01/2019, alors le fichier se ferme :p
Voilà, je te laisse regarder et tu me fais un retour ;D
Salut Juice,
Décidément tu sais tout faire
J'ai réussi a régler le problème de MailTo (ne me demande pas comment mais à force de trifouiller c'est passé lol)
J'ai essayé d'incorporer ton code pour fermer le fichier dans mon classeur mais ca ne fonctionne pas.
En gros je n'ai pas besoin qu'il demande un mot de passe à l'ouverture mais seulement qu'a partir d'une date, un message apparaisse en disant fin de période gratuite, merci d'insérer le mot de passe pour renouveler le fichier.
Comme ça je pourrais modifier la date d'expiration et c'est reparti pour la période que j'aurais choisi
J'espère avoir été clair c'est pas évident à l'écrit
Christophe,
Tu trouveras ci-joint le fichier modifié pour ta demande ;D
Par contre, pour que tu puisse avoir une date d'expiration, il faut que cette date soit indiqué dans une feuille de ton classeur.
A toi de voir comment cacher cette cellule ;D
De plus, même si c'est un fichier avec mot de passe, quelqu'un avec quelque base Excel pourra facilement contourner cette "protection" pour supprimer les macro qui l'embête :p
Je suis très chiant
Pas du tout D:
mais j'ai une erreur à l'ouverture du fichier ...
C'est quoi cette erreur xDD Je l'ai jamais eu x)
Cette Function vise à supprimer la petite croix en haut à droite de l'UserForm pour éviter que l'utilisateur puisse fermer l'UF sans avoir à entrer de mot de passe.
Je te met le fichier SANS cette Function et les codes qui y sont rattachés et tu devrais essayer de trouver sur le net quelque chose qui te permette de le faire avec la version de ton Windows :<
Restant à dispo




