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

L'envoi se fait bien pour tout mais j'ai toujours le message OUTLOOK

outlook ref

Si tu sais vers où m'orienter car je ne sais pas si cela concerne encore excel

Merci en tout cas

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

Rechercher des sujets similaires à "procedure cdo"