Envoie de mail avec variable
Bonjour,
je souhaiterai envoyer un email depuis excel comportant plusieurs variables qui sont stockés sur une page.
les données doivent être envoyé en fonction de leur valeur ( état 0, 1 ou 2).
voici la présentation que je souhaite:
Bonjour monsieur ''variable_nom",
Certains éléments important pour votre travail arrivent à expiration:
"variable_désignation" - "variable_date_butoir"
"variable_désignation2" - "variable_date_butoir2"
"variable_désignation3" - "variable_date_butoir3"
etc....
Cordialement.
* cette email est automatique.
Voici le premier code que j'ai récupérer et commencé à mettre en forme mais je suis bloqué... :
Sub EnvoiSimple()
'déclaration des variables
Dim OutApp As Object
Dim OutMail As Object
'
DerL = Range("A" & Rows.Count).End(xlUp).Row
corps = ""
entete = "Bonjour monsieur" & ThisWorkbook.Sheets("Planning B737-800").Range("E9").Value & ","
For i = 2 To DerL
If ThisWorkbook.Sheets("Planning B737-800").Range("X9") = "1" Then
corps = corps & ThisWorkbook.Sheets("Planning B737-800").Range("S8").Value & " - " _
& ThisWorkbook.Sheets("Planning B737-800").Range("S9" & i).Value & " " _
End If
If ThisWorkbook.Sheets("Planning B737-800").Range("x9") = "2" Then
corps = corps & ThisWorkbook.Sheets("Planning B737-800").Range("S8").Value & " - " _
& ThisWorkbook.Sheets("Planning B737-800").Range("S9" & i).Value & " " _
End If
Next i
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
'destinataires
'.From = "Essai from"
'.To = ThisWorkbook.Sheets("Feuil2").Range("L1").Value
.To = ThisWorkbook.Sheets("Planning B737-800").Range("W9").Value
'.CC = ThisWorkbook.Sheets("Envoi Mail").Range("B3").Value
'.BCC = ""
'objet du mail
.Subject = "EXPIRATION"
' corps du message
.Body = entete & corps
' fichier en pièce jointe
'Feuile de calcul
'.Attachments.Add ActiveWorkbook.FullName
'Fichier du disque dur
'.Attachments.Add "C:\****\****\****\**\NomFichier.Ext"
'Ou
'.Attachments.Add ThisWorkbook.Sheets("Feuil1").Range("H20").Value
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
'fermer le classeur à la fin
'ThisWorkbook.Close
End Sub
'
Merci pour votre aide
Bonjour,
voici un exemple avec select case,
les adresses ne sont surement pas correct, car je ne voie pas la disposition des données
For i = 2 To DerL
With Sheets("Planning B737-800")
Select Case .Range("X9").Value
' Case "0": corps = ....
Case "1": corps = corps & .Range("S" & i).Value & " - " & .Range("S" & i + 1).Value & Chr(10)
Case "2": corps = corps = corps & .Range("S" & i + 2).Value & " - " & .Range("S" & i + 3).Value & Chr(10)
' Case else: ....
End Select
Next i