Générer plusieurs mails en une fois
Bonsoir,
Après plusieurs recherche sur le forum, on trouve souvent des gens qui ont des problèmes pour générer un mail mais aucun post pour générer plusieurs mails (3 dans mon cas précis)...
J'ai eu aucun problème pour générer le premier (jusqu'au premier End With), par contre aprés avoir développé la deuxieme partie pour le second mail et la 3ème partie pour le 3ème mail, je m'apperçois qu'il ne génère plus le premier... (???) En fait je ne sais pas comment on fait pour travailler avec la meme fonction mais avec des parametres différents pour le second mail et le 3ème. Enchainer les 3 sans perturber les 2 premiers...
Sub PBenvoi3mails()
Dim OutApp As Object
Dim OutMail As Object
Dim Dest As String
Dim CopieDest As String
Dim Message As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dest = "mail1@fai.fr"
CopieDest = "compimail1@fai.fr"
Message = "corps mail 1"
With OutMail
.To = Dest
.CC = CopieDest
.BCC = ""
.Subject = "Mail 1"
.HTMLBody = Message
.Display
End With
Dest2 = "mail2@fai.fr"
CopieDest2 = "compimail2@fai.fr"
Message2 = "corps mail 2"
With OutMail
.To = Dest2
.CC = CopieDest2
.BCC = ""
.Subject = "Mail 2"
.HTMLBody = Message2
.Display
End With
Dest3 = "mail3@fai.fr"
CopieDest3 = "compimail3@fai.fr"
Message3 = "corps mail 3"
With OutMail
.To = Dest3
.CC = CopieDest3
.BCC = ""
.Subject = "Mail 3"
.HTMLBody = Message3
.Display
End With
End Sub
Merci d'avance pour votre aide.
Je pense qu'il manque pas grand chose, mais je sèche...
Bonjour,
je ne suis pas sûr, mais je crois qu'il faut attendre quelques secondes entre les envois.
essaye de mettre
"Attendre + le nombre de secondes" entre chaque envoi dans ta Sub
et ajoute cette procédure dans ton module
Sub Attendre(Secondes As Integer)
' La procédure temporise pendant le nombre de secondes qu'on lui transmet en argument
Dim Début As Long, Fin As Long, Chrono As Long
Début = Timer
Fin = Début + Secondes
Do Until Timer >= Fin
DoEvents
Loop
End Sub
A+
Ca ne fonctionne pas : je m'explique...
J'ai configuré sur 10 secondes.
J'execute la prog, il me génère le 1er mail. Au bout des 10 secondes, il me remplace toutes les données par celles du 2ème mail et au bout de 10 secondes, il fait la même chose pour le 3ème. Il ne génère pas 3 mails différent.
Ce que je souhaiterai c'est qu'il génère 3 mail différent qu'ont peut modifier / vérifier sans avoir de délais (10 secondes dans ce cas...)
Merci à tous !
Bonjour
voici une proposition
fred
Sub PBenvoi3mails()
Dim OutApp As Object
Dim OutMail As Object
Dim Dest As String
Dim CopieDest As String
Dim Message As String
Dim i As Integer
Dim sujet As String
For i = 1 To 3
Select Case i
Case 1
Dest = "mail1@fai.fr"
CopieDest = "compimail1@fai.fr"
Message = "corps mail 1"
sujet = "mail 1"
Case 2
Dest = "mail2@fai.fr"
CopieDest = "compimail2@fai.fr"
Message = "corps mail 2"
sujet = "mail 2"
Case 3
Dest = "mail3@fai.fr"
CopieDest = "compimail3@fai.fr"
Message = "corps mail 3"
sujet = "mail 3"
End Select
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.to = Dest
.CC = CopieDest
.BCC = ""
.Subject = sujet
.HTMLBody = Message
.Display
End With
Next
End Sub
Bonjour,
Merci à tous les deux pour votre retour...
Etant encore débutant, je ne maitrise pas encore la fonction For, j'ai commencé a y travailler. A priori je partait dans la bonne direction...
Fred2406, c'est tout à fait ça. Ca marche ! Merci beaucoup...
Teddy33, merci pour ton aide, mais ça génère un seul mail et pas 3. C'était ça le but. Merci quand même...
Trés bonne continuation à tous sur Excel-pratique.com
Bonjour
Si c'est OK
merci de mettre le sujet en tant que sujet résolu
Merci
Fred