Pb sécurité outlook envoi mail auto vba

Fermé
krystal_059 - 17 juil. 2009 à 10:12
 krystal_059 - 20 juil. 2009 à 14:57
Bonjour,
j'ai créé une macro sous outlook 2003 qui envoie des mails.
A l'execution de la macro, j'ai un problème avec la sécurité d'Outlook. Deux messages d'avertissement s'affichent :
"Un programme essaie d'acéder aux adresses de messagerie enregistrées dans Outlook. L'autorisez-vous à poursuivre ?" et "Un programme tente d'envoyer automatiquement des courriers en votre nom. L'autorisez vous à poursuivre?".
J'aimerai ne pas devoir cliquer sur 'Yes' à chaque fois car il y a au minimum 50 mails à partir chaque semaine.
De plus, je ne peux pas télécharger le programme ClickYes puisque mon programme est à usage professionnel et doit pouvoir tourner sur plus de 400 postes.
Quelqu'un aurait-il une idée qui pourrait m'aider ?
merci de votre réponse


Voici le code :

Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

Public CorpsMail As String
Public Mail As String
Public Mail2 As String


Sub MailItNow()


Dim Test As Integer
Dim i As Integer
Dim Qui(300) As String
Dim Tache(300) As String
Dim Agence As String


Application.ScreenUpdating = False

Test = 0
Agence = Range("B1").Value
i = 1

For i = 1 To 300

If Range("K" & i).Value = "Retard" Then

Test = 1
Qui(i) = Range("D" & i).Value

Tache(i) = Range("A" & i).Value

If Test = 1 Then

If Range("M" & i).Value = Empty Then

Mail = "..."

CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"

Call EnvoiMessage

Else

Mail = Range("M" & i).Value
Mail2 = Range("N" & i).Text

End If


MsgBox ("...")

CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"

Call EnvoiMessage

End If

End If

Next i

If Test = 0 Then

MsgBox ("Il n'y a aucun retard !")

End If

End Sub


Sub EnvoiMessage(Optional Pieces_Jointes)

On Error Resume Next

Set objOutlook = CreateObject("Outlook.Application")

Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
.To = Mail
.CC = Mail2
.Subject = "retard"
.body = CorpsMail
.Importance = olImportanceNormal

For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
Exit Sub
End If
Next

.Send

End With


Set objOutlookMsg = Nothing
Set objOutlook = Nothing


End Sub
A voir également:

1 réponse

Personne n'a d'idée à ce sujet.
J'ai parcouru plusieurs forums mais pas de solution à mon problème et je dois rendre ce projet à la fin du mois.
0