Variable pour envoie mail
Bonjour,
J'essaye d'envoyer automatiquement des mail et je rencontre un problème lorsque j'ajoute une seconde variable dans mon code. C-àd que j'ai une variable pour les adresses mails ainsi que pour les prenoms. J'arrive à avoir mes variables pour l'émail mais j'ai un problème lorsque je veux ajouter ma variable prenom dans le corps du message et inversement.
Dans mon code, le problème surgit lorsque j'enlève l'apostrophe l.17 et l24.
Je ne comprends pas pourquoi je ne peux pas avoir plusieurs variables !!!??
Je vous affiche le code:
Private Sub EnvoyerMail_Click()
MIF
End Sub
Public Function MIF()
Dim adressemail As String
Dim x, i As Integer
Dim prenom As String
x = 0
i = 27
Do While Not (IsEmpty(Cells(i, 15)))
If Range("O" & x + i).Value = 3 Then
Range("P" & x + i) = "envoyer"
adressemail = Cells(x + i, 11)
prenom = Cells(x + i, 10)
'MsgBox (adressemail & Chr(10) & prenom)
sendemail (adressemail)
'sendemail (prenom)
x = x + 1
Else
i = i + 1
End If
Loop
End Function
Public Function sendemail(ByRef adressemail As String) ', prenom As String)
Dim itm As Object
Dim sendto As String
Dim ccto As String
Dim esubject As String
Dim ebody As String
On Error GoTo ende
esubject = "Rappel d'échéanche"
sendto = adressemail
ccto = ""
ebody = prenom & " pense à finir la tâche qui se termine dans 3 jours"
Set app = CreateObject("Outlook.Application") 'ligne à commenter si l'nevoi par outlook ne fonctionne pas
Set itm = app.CreateItem(0) 'ligne à commenter si l'envoi par outlook ne fonctionne pas
'Set itm = CreateObject("CDO.message") 'pour envoi sans outlook
With itm
.Subject = esubject
'.From = "xxx@yyy.com" 'possibilité d'indiquer l'adresse mail que vous souhaitez --> envoi dans outlook
.To = sendto
.CC = ccto
.HTMLbody = ebody
'.Configuration.Fields("hhtp://schemas.microsoft.com/cdo/configuration/smtpserver")
'.Configuration.Fields("hhtp://schemas.microsoft.com/cdo/configuration/sendusing")
'.Configuration.Fields.Update 'lignes pour envoi sans outlook
.Display
'.Send
End With
Set app = Nothing 'ligne à décommenter si l'envoi par outlook ne fonctionne pas
Set itm = Nothing
ende:
End Function
Bonjour,
essaie ainsi
Private Sub EnvoyerMail_Click()
MIF
End Sub
Public Function MIF()
Dim adressemail As String
Dim x, i As Integer
Dim prenom As String
x = 0
i = 27
Do While Not (IsEmpty(Cells(i, 15)))
If Range("O" & x + i).Value = 3 Then
Range("P" & x + i) = "envoyer"
adressemail = Cells(x + i, 11)
prenom = Cells(x + i, 10)
'MsgBox (adressemail & Chr(10) & prenom)
sendemail (adressemail,prenom)
x = x + 1
Else
i = i + 1
End If
Loop
End Function
Public Function sendemail(ByRef adressemail As String , prenom As String)
Dim itm As Object
Dim sendto As String
Dim ccto As String
Dim esubject As String
Dim ebody As String
On Error GoTo ende
esubject = "Rappel d'échéanche"
sendto = adressemail
ccto = ""
ebody = prenom & " pense à finir la tâche qui se termine dans 3 jours"
Set app = CreateObject("Outlook.Application") 'ligne à commenter si l'nevoi par outlook ne fonctionne pas
Set itm = app.CreateItem(0) 'ligne à commenter si l'envoi par outlook ne fonctionne pas
'Set itm = CreateObject("CDO.message") 'pour envoi sans outlook
With itm
.Subject = esubject
'.From = "xxx@yyy.com" 'possibilité d'indiquer l'adresse mail que vous souhaitez --> envoi dans outlook
.To = sendto
.CC = ccto
.HTMLbody = ebody
'.Configuration.Fields("hhtp://schemas.microsoft.com/cdo/configuration/smtpserver")
'.Configuration.Fields("hhtp://schemas.microsoft.com/cdo/configuration/sendusing")
'.Configuration.Fields.Update 'lignes pour envoi sans outlook
.Display
'.Send
End With
Set app = Nothing 'ligne à décommenter si l'envoi par outlook ne fonctionne pas
Set itm = Nothing
ende:
End Function
Bonjour H2SO4,
Merci de ta réponse. Néanmoins, pour avoir déjà essayé cela me met "erreur de syntaxe" !
Je te mets mon fichier pour que tu puisses mieux visualiser ma problématique
Bonjour,
remplace
sendemail (adressemail,prenom)
par
sendemail adressemail,prenom
Parfait merci !!!!