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 de publipostage via Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Par défaut Envoi de publipostage via Excel
    Bonjour à tous,

    Je travail sur un projet de publipostage via Excel.
    En étudiant différents codes VBA trouvés sur le net, j'ai trouvé celui ci qui me permet d'envoyer un mail à une personne.

    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
     
    Sub Publip_mail()
    Dim iMsg As Object, iConf As Object, Flds As Object
     
     
    Destinataire = cellB
    Numéro1 = cellC
    Numéro2 = cellD
    Numéro3 = cellE
     
     
    Set iMsg = CreateObject("cdo.message")
    Set iConf = CreateObject("cdo.configuration")
     
    Set Flds = iConf.Fields
    With Flds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.monserveur"
        .Update
    End With
     
    With iMsg
        Set .Configuration = iConf
        .To = "mon adresse"
        .From = " cellB "
        .Subject = "Numéros à conserver"
        .HTMLBody = "Bonjour, </br> Veuillez trouver vos numéros ci-dessous. </br> cellC </br> cellD </br> cellE </br>  "
     
    .Send
    End With
     
    End Sub
    Ce code fonctionne parfaitement bien cependant, je n'ai aucune idée comment je pourrais intégrer mes champs de publipostage comme ceux écrit en gras italique et le faire tourner en loop.

    Le but est d'envoyer un mail à Yann, avec les numéros sous le texte, puis un second mail à Julien avec ses numéros et ainsi de suite...

    J'espère être suffisament clair. :/

    Mon classeur Excel ressemble à celui ci.



    Personne adresse mail 1 2 3 4
    Yann mail1 125052 41142274 72274 4247274742
    Julien mail2 769879 978894
    Laura mail3 2365205

    D'avance merci, et pardonnez moi de mon inculture en VBA

    Cordialement,

    Kersou

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Par défaut Amélioration du code
    Bonjour à tous,

    Je viens de retravailler le 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
    Sub sendMail()
     
        Dim iMsg As Object, iConf As Object, Flds As Object
        Dim destinataire As String
        Dim y As Integer
        Dim x As Integer
        Dim liste_client As String
     
     
        Set iMsg = CreateObject("cdo.message")
        Set iConf = CreateObject("cdo.configuration")
     
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "serveur"
            .Update
        End With
     
        x = 2
        y = 2
        destinataire = Cells(1, y)
     
     
        While (Not (IsEmpty(Cells(1, y))))
            liste_client = ""
            x = 2
     
            While (Not (IsEmpty(Cells(x, y))))
                liste_client = liste_client + " " + Cells(x, y)
                x = x + 1
            Wend
     
            If (Not (IsEmpty(liste_client))) Then
                With iMsg
                Set .Configuration = iConf
                .To = "mon adresse"
                .From = destinataire
                .Subject = "Données manquantes"
                .HTMLBody = "Bonjour, voici les clients : " + liste_client
                .Send
                End With
            End If
     
            y = y + 1
            destinataire = Cells(1, y)
     
        Wend
     
    End Sub
    Cependant ce dernier ne fonctionne pas, je ne vois pas ou est mon erreur.
    Si un oeil aguerrit pouvais m'aider à dénicher ce bug.

    Merci beaucoup.

Discussions similaires

  1. [Toutes versions] Publipostage via excel
    Par bleuoceane29 dans le forum Word
    Réponses: 3
    Dernier message: 05/06/2010, 11h27
  2. Envoie d'email via Excel Session verrouillée
    Par mennix dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2008, 18h57
  3. Envoie d'un fichier excel par mail via un bouton d'action
    Par ghostal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/07/2006, 08h22
  4. Script d'envoie d'un fichier excel via un formulaire
    Par Morphine.Nw dans le forum ASP
    Réponses: 4
    Dernier message: 26/01/2006, 13h08
  5. Envoi de mail via un macro vba sur excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/12/2005, 18h51

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