Procédure CDO
Bonjour,
ci-joint un fichier excel pour l'envoi de mail automatique.
La macro fonctionne bien sauf que je voudrais que l'envoi se fasse automatiquement.
Pour l'instant en cliquant sur la macro mon logiciel de messagerie (OUTLOOK) s'ouvre et je dois cliquer sur envoyer pour que le message parte.
Dans mon futur fichier il y aura une centaine d'adresse à desservir, d'ou le souhait que cela parte tout seul.
On m'a parlé d'une procédure CDO mais je n'y comprends rien.
( Les references sont activés dans le fichier)
Merci
Bonjour,
voici une proposition avec cdo.
pour utiliser ce code il faut référencer la bibliothèque microsoft outlook,
dans excel ALT-F11, pour activer l'éditeur vba
menu outils> references > sélectionner microsoft outlook
'referencer microsoft outlook dans vba avant d'utiliser ce code
Private Sub CommandButton1_Click()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurrFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
For i = 6 To 100
if cells(i,3)<>"" then
With olMail
.To = Cells(i, 3)
.cc = Range("E3")
.Subject = Range("C3")
.Body = msg & Cells(i, 1) & " " & Cells(i, 2)
'.Display ' pour afficher le message dans outlook enlever le '
.Send ' envoyer le message
End With
end if
Next i
Set olMail = Nothing
Set olApp = Nothing
End Sub
Bonjour
Merci pour ce code.
Cela marche pour la premiere ligne du tableau excel après j'ai un message d'erreur
Erreur d'execution
L'élément a été supprimé ou effacé
'referencer microsoft outlook dans vba avant d'utiliser ce code
Private Sub CommandButton1_Click()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurrFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
For i = 6 To 100
If Cells(i, 3) <> "" Then
With olMail
.To = Cells(i, 3) ERREUR ICI
.CC = Range("E3")
.Subject = Range("C3")
.Body = msg & Cells(i, 1) & " " & Cells(i, 2)
'.Display ' pour afficher le message dans outlook enlever le '
.Send ' envoyer le message
End With
End If
Next i
Set olMail = Nothing
Set olApp = Nothing
End Sub
De plus j'ai bien rentré mes references microsoft OUTLOOK mais j'ai un message d'information OUTLOOK qui dit qu'un programme essaie d'envoyer un message à votre nom et on me demande d'accepter ou refuser l'envoi.
Merci de votre aide
N'utilisant pas outlook je ne peux tester, mais essaie avec les modifs suivantes.
bibouden a écrit :Bonjour
Merci pour ce code.
Cela marche pour la premiere ligne du tableau excel après j'ai un message d'erreur
Erreur d'execution
L'élément a été supprimé ou effacé
'referencer microsoft outlook dans vba avant d'utiliser ce code
Private Sub CommandButton1_Click() Dim olApp As Outlook.Application Dim olMail As MailItem Dim CurrFile As String Set olApp = New Outlook.Application For i = 6 To 100 If Cells(i, 3) <> "" Then Set olMail = olApp.CreateItem(olMailItem) With olMail .To = Cells(i, 3) .CC = Range("E3") .Subject = Range("C3") .Body = msg & Cells(i, 1) & " " & Cells(i, 2) '.Display ' pour afficher le message dans outlook enlever le ' .Send ' envoyer le message Set olMail = Nothing End With End If Next i Set olApp = Nothing End Sub
De plus j'ai bien rentré mes references microsoft OUTLOOK mais j'ai un message d'information OUTLOOK qui dit qu'un programme essaie d'envoyer un message à votre nom et on me demande d'accepter ou refuser l'envoi.
Merci de votre aide
Bonjour,
pour résoudre ce problème, il faut voir du coté du paramétrage de sécurité d'outlook, menu developpeur, macro security, accès programmatique (ou quelque chose d'équivalent), il s'agit d'un traduction libre des menus en anglais, je ne connais pas leur équivalet dans la version FR.
complément d'info, si tu comprends l'anglais