Bonjour,
J'ai actuellement une macro qui fonctionne bien mais j'aimerai l'améliorer, j'aimerai rajouter une tempo de 30 seconde avant l'envoie de l'email
Alors, pour ma macro, des qu'elle détecte le chiffre 31 32 34 18 ou 99 dans certaine colonne en m'envoie un mail auto
pour sa aucun souci sa fonctionne très bien, j'aimerai que des qu'elle detecte qu'elle attende 30 seconde avant de l'envoyer car d'autre info sont rentrer dans d'autre colonne et j'aimerai que ces info soit dans mon email body donc j'ai pensé a mettre en pause la macro le temps que les info soit rentrer dans la collone d'apres.
voici ma macro
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim tablCode
tablCode = Array(31, 34, 36, 18, 99)
If Target.Column = 3 Or Target.Column = 4 Or Target.Column = 5 Or Target.Column = 6 Then
For i = 0 To 4
If Target.Value = tablCode(i) Then
'Macro email
'--------------------------------------------------------
Dim Email_Subject, Email_Send_From, Email_Send_To, _
Email_Cc, Email_Bcc, Email_Body As String
Dim Mail_Object, Mail_Single As Variant
Email_Subject = " DL " & tablCode(i)
Email_Send_From = "xxxxxxx@xxx.xxx"
Email_Send_To = "xxxxxxx@xxx.xxx""
Email_Cc = "xxxxxxx@xxx.xxx"
Email_Bcc = "xxxxxxx@xxx.xxx"
Email_Body = "auto mail" & vbCr & _
"" & vbCr & _
"Un code " & tablCode(i) & " a été atritubé autjoudh'ui" & vbCr & _
vbCr & _
"Date : " & Cells(Target.Row, 1) & vbCr & _
"Nom agent: " & Cells(Target.Row, 2) & vbCr & _
"Vol Départ: " & Cells(Target.Row, 13) & vbCr & _
"STD: " & Format(Cells(Target.Row, 18), "hh:mm") & vbCr & _
"ATD: " & Format(Cells(Target.Row, 19), "hh:mm") & vbCr & _
"@tt"
On Error GoTo debugs
Set Mail_Object = CreateObject("Outlook.Application")
Set Mail_Single = Mail_Object.CreateItem(0)
With Mail_Single
.Subject = Email_Subject
.To = Email_Send_To
.cc = Email_Cc
.BCC = Email_Bcc
.Body = Email_Body
.Send
End With
debugs:
If Err.Description <> "" Then MsgBox Err.Description
'----------------------------------------------------------------
End If
Next
End If
End Sub
Si une personne aurait une idée!!
Merci
J'ai actuellement une macro qui fonctionne bien mais j'aimerai l'améliorer, j'aimerai rajouter une tempo de 30 seconde avant l'envoie de l'email
Alors, pour ma macro, des qu'elle détecte le chiffre 31 32 34 18 ou 99 dans certaine colonne en m'envoie un mail auto
pour sa aucun souci sa fonctionne très bien, j'aimerai que des qu'elle detecte qu'elle attende 30 seconde avant de l'envoyer car d'autre info sont rentrer dans d'autre colonne et j'aimerai que ces info soit dans mon email body donc j'ai pensé a mettre en pause la macro le temps que les info soit rentrer dans la collone d'apres.
voici ma macro
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim tablCode
tablCode = Array(31, 34, 36, 18, 99)
If Target.Column = 3 Or Target.Column = 4 Or Target.Column = 5 Or Target.Column = 6 Then
For i = 0 To 4
If Target.Value = tablCode(i) Then
'Macro email
'--------------------------------------------------------
Dim Email_Subject, Email_Send_From, Email_Send_To, _
Email_Cc, Email_Bcc, Email_Body As String
Dim Mail_Object, Mail_Single As Variant
Email_Subject = " DL " & tablCode(i)
Email_Send_From = "xxxxxxx@xxx.xxx"
Email_Send_To = "xxxxxxx@xxx.xxx""
Email_Cc = "xxxxxxx@xxx.xxx"
Email_Bcc = "xxxxxxx@xxx.xxx"
Email_Body = "auto mail" & vbCr & _
"" & vbCr & _
"Un code " & tablCode(i) & " a été atritubé autjoudh'ui" & vbCr & _
vbCr & _
"Date : " & Cells(Target.Row, 1) & vbCr & _
"Nom agent: " & Cells(Target.Row, 2) & vbCr & _
"Vol Départ: " & Cells(Target.Row, 13) & vbCr & _
"STD: " & Format(Cells(Target.Row, 18), "hh:mm") & vbCr & _
"ATD: " & Format(Cells(Target.Row, 19), "hh:mm") & vbCr & _
"@tt"
On Error GoTo debugs
Set Mail_Object = CreateObject("Outlook.Application")
Set Mail_Single = Mail_Object.CreateItem(0)
With Mail_Single
.Subject = Email_Subject
.To = Email_Send_To
.cc = Email_Cc
.BCC = Email_Bcc
.Body = Email_Body
.Send
End With
debugs:
If Err.Description <> "" Then MsgBox Err.Description
'----------------------------------------------------------------
End If
Next
End If
End Sub
Si une personne aurait une idée!!
Merci