Corp d'un mail outlook selon une date
Bonjour à tous,
Je travail sur un fichier permettant l'archivage de données et l'envoi de ces données par mail.
La première feuille("Formulaire ITB") de mon fichier permet la saisie des données et l'archivage sur les feuilles 2("Suivi Litiges"), 3("Suivi réserves") et 4("Suivi retard").
Je suis novice en vba, j'ai trouver un code permettant l'envoi de l'email avec outlook.
J'aimerais un code qui recherche la date du jour dans les feuilles "Suivi Litiges", "Suivi réserves" et "Suivi retard" et qui renvoi les données correspondantes dans le corp du mail, sous forme de tableau si c'est possible.
Voila le code que j'ai tenté mais qui ne fonctionne pas, j'ai essayé deux techniques, la première pour les litiges qui m'oblige à chercher les données dans une autre feuille : "Mail"
La seconde pour les réserves et retard sur laquelle j'ai mis le guillemet pendant que j'essayai la première
Sub Envoyer_mail()
Dim Litiges As Variant
'Dim Réserves As Variant
'Dim Retard As Variant
Litiges = Sheets("Mail").Range("A1").Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
'Réserves = Sheets("Suivi réserves").Cells.Find(What = Date).Rows.Selection
'Retard = Sheets("Suivi retard").Cells.Find(What = Date).Rows.Selection
'permet d'envoyer l'email à partir d'une boite mail outlook.
Dim MaFeuille As Worksheet
Set MaFeuille = ThisWorkbook.Sheets("Formulaire ITB") 'Dit que "MaFeuille" est le Feuil1 de ce classeur
Dim LeMail As Variant
Set LeMail = CreateObject("Outlook.Application")
With LeMail.CreateItem(olMailItem)
.Subject = " CR ITB du " & Sheets("Formulaire ITB").Range("D2") 'permet de mettre en objet du mail "ITB du" et la date du jour
.To = "" ' écrire la(les) adresse(s) mail du(des) destinataire(s)
.CC = "" ' pour mettre quelqu'un en copie
.BCC = "" 'pour mettre quelqu'un en copie invisible
'.Attachments.Add ""pour insérer une pièce joints marquer le chemin pour retrouver le fichier
.Body = "Bonjour, " & vbCrLf _
& Range("B4") & Range("D4") & vbCrLf _
& Range("B7") & Range("D7") & vbCrLf _
& Range("B8") & Range("D8") & vbCrLf _
& Range("B9") & Range("D9") & vbCrLf _
& Litiges & vbCrLf _
'& Réserves & vbCrLf
'& Retard & vbCrLf
'écrire le corp du mail en sélectionnant les cellules voulus grâce à la fonction Range(), fonction vbCRLF permet d'aller à la ligne dans le corp du mail
.display 'fait apparaitre le mail pour vérification ou ajout avant l'envoi définitif, pour envoyer directement le mail remplacer display par send
End With
End SubMerci de votre aide.
Hello,
Une proposition avec le resultat en PJ et non dans le corps du mail.
R@g
Hello R@g,
Je comprend rien au code mais ça à l'air de bien fonctionner,
Merci de ton aide