IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoi mail via Outlook depuis excel en VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 28
    Points : 29
    Points
    29
    Par défaut Envoi mail via Outlook depuis excel en VBA
    Bonjour,

    je dois envoyer un mailing avec des infos issues d'une feuille excel.
    Les addresses des destinataires ainsi que d'autres infos sont des contenus de cellules.
    Le pb c'est que mon code fonctione une seule fois ( un mail envoyé ) puis j'ai l'erreur : 91 Variable d'objet ou variable de bloc with non définie.
    Ci-dessous mon code
    --------------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    Sub Mailing()
     
        Dim appOutlook As Outlook.Application
        Set appOutlook = CreateObject("outlook.application")
     
        Dim oMail As Outlook.MailItem
        Set oMail = appOutlook.CreateItem(olMailItem)
     
        Dim EMailSendTo As String, EMailCCTo As String, EMailBCCTo As String
     
     
        Dim cpt As String
        Dim nblignes As Long
     
     
     
         cpt = 0
        'Compte le nbre de lignes pour le nbre d'enregistrements
         ActiveWorkbook.Sheets("Echeances_contrats").Select
         Range("O2").Select
         nblignes = Range("O2").CurrentRegion.Rows.Count - 1
     
         Do While cpt < nblignes
     
         EMailSendTo = ActiveCell.Offset(cpt, 0).Value
         EMailCCTo = ActiveCell.Offset(cpt, 2).Value
     
     
         MsgBox cpt & nblignes  ' affichage test
         MsgBox EMailSendTo    ' affichage test
         MsgBox EMailCCTo       ' affichage test
     
     
            With oMail
            .To = EMailSendTo
            .CC = EMailCCTo
     
            .Subject = "AVIS DE FIN DE CONTRAT"
            .BodyFormat = olFormatHTML
            .Body = "A l'attention du Responsable Informatique" & Chr(13) & "Cher(e) client(e) ,"
            .Send
     
             Set oMail = Nothing
     
            End With
     
        cpt = cpt + 1
     
     
        Loop
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 28
    Points : 29
    Points
    29
    Par défaut Solution pour envoi mail via Outlook
    A force de ténacité j ai fini par trouver mes erreurs, si cela peut servir à d autres, voici le code qui fonctionne :
    --------------------------------------------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Mailing()
     
        Dim appOutlook As Outlook.Application
        Dim oMail As Outlook.MailItem
        Dim EMailSendTo As String, EMailCCTo As String, EMailBCCTo As String
        Dim cpt As String
        Dim nblignes As Long
     
         cpt = 0
        'Compte le nbre de lignes pour le nbre d'enregistrements
         ActiveWorkbook.Sheets("Echeances_contrats").Select
         Range("O2").Select
         nblignes = Range("O2").CurrentRegion.Rows.Count - 1
     
         Do While cpt < nblignes
     
         EMailSendTo = ActiveCell.Offset(cpt, 0).Value
         EMailCCTo = ActiveCell.Offset(cpt, 2).Value
     
         Set appOutlook = CreateObject("outlook.application")
         Set oMail = appOutlook.CreateItem(olMailItem)
     
             With oMail
            .To = EMailSendTo
            .CC = EMailCCTo
     
            .Subject = "AVIS DE FIN DE CONTRAT"
            .BodyFormat = olFormatHTML
            .Body = "A l'attention du Responsable Informatique" & Chr(13) & "Cher(e) client(e) ," & Chr(13) & "Suivant nos informations et sauf erreur, votre Contrat de maintenance numéro: " & "" & ActiveCell.Offset(cpt, -3).Value
     
     
            .Send
     
            End With
     
            Set oMail = Nothing
            Set appOutlook = Nothing
     
        cpt = cpt + 1
     
        Loop
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Envoi mail via Outlook et attachments
    Par JPaul94300 dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/08/2009, 09h48
  2. Création d'une tâche outlook depuis Excel en vba
    Par allimannp dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 21/01/2009, 15h04
  3. Envoi mail via Outlook
    Par coucou_tt_le_monde dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/12/2008, 17h05
  4. [WD10] envoi mail via outlook
    Par yann_72 dans le forum WinDev
    Réponses: 10
    Dernier message: 18/04/2008, 08h34
  5. procedure envoie mail via OUTLOOK
    Par laurent1 dans le forum Oracle
    Réponses: 13
    Dernier message: 22/10/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo