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 :

envoyer mail plusieurs contacts depuis 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
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Par défaut envoyer mail plusieurs contacts depuis excel
    Bonjour à tous

    j'aurais besoin de vos lumières pour trouver une solution et me faciliter la vie.

    J'aimerais pouvoir envoyer un mail à plusieurs contacts en même temps depuis excell.

    Mon format de fichier excell est le suivant :
    plusieurs onglets avec clients A B C... X Y Z
    dans chaque onglet
    service A
    nom / prénom / email
    nom / prénom / email
    service B
    nom / prénom / email
    nom / prénom / email

    j'aimerais faire un onglet récapitulatif pour pouvoir d'un clic envoyer un email à tous les clients B service B par exemple

    J'aimerais également être indépendant d'outlook (càd ne pas créer une liste d'envoi) car je gère ma liste de clients depuis un fichier excell sur 1 usb

    Pour l'instant, je fais mes mails manuellement un par un

    J'espère que j'ai été assez clair et je remercie d'avance tous ceux qui se pencheraient sur mon soucis

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Envoyer un mail c'est un peu vague. Tu veux envoyer un mail avec un simple texte dans le corps du mail, envoyer le classeur contenant la macro ou une de ses feuilles, envoyer un autre fichier en pièce jointe, ... ?

  3. #3
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    comme te l'as dit Fring cela reste vague, mais as-tu regardé la ?
    tu y trouveras des pistes pour commencer ton projet par exemple ici:
    http://excel.developpez.com/faq/?page=Messagerie.

    Commence ton projet et si tu rencontres des problèmes explique les on s'efforcera de t'aider.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Par défaut
    hello

    déjà merci pour ces réponses

    ce que je compte faire, c'est à partir de mon fichier client, envoyer un mail (fichier word par ex) à plusieurs de ceux ci en 1 seule fois

    J'ai regardé la FAQ déjà et n'ai rien trouvé de ressemblant mais ce n'est peut être pas possible.
    Le fait est que je ne désire pas importer mes contacts dans mon outlook qui est sur le serveur de mon boulot.

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut Envoi Mail
    Bonjour Timor,

    J'ai une application où d'après un tableau figurant dans une feuille de mon classeur ("Mail"), Outlook est géré depuis VBA;

    Ce tableau est constitué ainsi dans l'ordre des colonnes :

    adresse_mail_1
    adresse_mail_2
    objet
    piècejointe_1
    piècejointe_2
    piècejointe_3
    corps message

    L'application balaie le range "pièces" (en tête "piècejointe_1") et adresse les mails d'après les éléments autour de cette pièce jointe (voir les Offset dans le code)

    Précaution au préalable : activer la référence à une bibliothèque Outlook
    (Menu Outils \ Références)

    Les cellules de colonnes "piècejointe" comporte le chemin complet du fichier ainsi que son nom avec son extension (.pdf, .doc..)

    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 Envoi_Documents()
     
      'Requiert une référence à la bibliothèque d'objets Outlook
      Dim Applic_Outlook As Outlook.Application
      Dim MonItem As Outlook.MailItem
      Dim Document As Range
      Dim Fichier_joint As String
     
    Sheets("Mail").Visible = True
    Sheets("Mail").Select
     
    Application.ScreenUpdating = True
    'Crée l'objet Outlook
    Set Applic_Outlook = New Outlook.Application
     
    'Parcourt en boucle les lignes
    For Each Document In Sheets("Mail").Range("pièces")
     
        'Obtenir les données
        Objet_Mail = Document.Offset(0, -1)
        Adresse_Mail = Document.Offset(0, -3)
        corp_message = Document.Offset(0, 4)
        copie = Document.Offset(0, -2)
        'Créer l'élément de mail et le transmettre
        Set MonItem = Applic_Outlook.CreateItem(olMailItem)
        With MonItem
                .To = Adresse_Mail
                .Subject = Objet_Mail
                If Not IsEmpty(copie) Then .CC = copie
                .Categories = "Daily"
                .Body = corp_message
                Fichier_joint = Document
                .Attachments.Add Fichier_joint
                For I = 1 To 2
                    If Not IsEmpty(Document.Offset(0, I)) And Document.Offset(0, I) <> "" Then
                        Fichier_joint = Document.Offset(0, I).Value
                        .Attachments.Add Fichier_joint
                    End If
                Next
                .Display
        End With
        Application.wait (Now + TimeValue("0:00:01"))
        AppActivate Objet_Mail & " - Message", 0   ' Active Outlook
        SendKeys "%v", True  ' Envoi du message
    Next
     
    Set Applic_Outlook = Nothing
     
     
    End Sub
    En espérant que ce code te sera utile.

    Cordialement.

    Marcel

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par timor Voir le message
    J'ai regardé la FAQ déjà et n'ai rien trouvé de ressemblant mais ce n'est peut être pas possible.
    Si si c'est possible et il y a du très ressemblant dans la FAQ

    Sans utiliser Outlook, tu peux utiliser la méthode CDO.
    Voici le code issu de la FAQ, légèrement adapté et commenté. je l'ai testé et l'envoi aux multi-destinataires avec pièce jointe fonctionne. il ne te reste plus en principe qu'à adapter le chemin, nom de feuille, colonne, boucle.
    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
    Sub EnvoiMail_CDO()
    Dim iMsg As Object, iConf As Object, Flds As Object, Adresses As String, Fichier As String, i As Integer
     
    'chemin complet et nom du fichier à envoyer
    Fichier = "D:\Temp\MonFichier.pdf"
     
    'récupération des adresses des destinataires se trouvant dans la colonne A de la feuille "Adresses Mail"
    With Sheets("Adresses Mail")
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row '<-- de la ligne 1 à la dernière ligne utilisée de la colonne A
            Adresses = Adresses & .Cells(i, 1) & "," '<-- chaque adresse est enregistrée dans la variable "Adresses" et séparée par une virgule
        Next
    End With
     
    'Code de la FAQ --> http://excel.developpez.com/faq/?page=Messagerie#ErreurExecutionCDO
    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
        'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
        'http://outlook.developpez.com/faq/index.php?page=Configuration#Paras_FAI
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.nomserveur.fr"
        .Update
    End With
     
    With iMsg
        Set .Configuration = iConf
        .To = Adresses
        .From = "expediteur@mail.fr" '<-- ton adresse mail
        .Subject = "Le sujet du message"
        .HTMLBody = "Ceci est un essai ..."
        .AddAttachment Fichier
        .Send
    End With
     
    End Sub

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Par défaut
    Rebonjour à tous

    tout d'abord, désolé de ne pas avoir répondu plus tôt à vos suggestions : travail travail travail oblige...

    Merci à tous ceux qui se sont penchés sur le sujet

    J'ai testé la dernière solution qui fonctionne, mais ce n'est pas exactement ce que je cherchais.

    Ce que je cherche plus tôt, c'est faire un résumé sur ma première sheet de tous mes différents clients qui sont sur les sheets suivantes et en cliquant sur une cellule que celle-ci me bascule vers outlook en me mettant tous mes destinataires. Ensuite à moi de mettre le sujet et le corps du message.

    Je sais que je peux le faire facilement en créant des listes de diffusion dans outlook mais je rappelle mon but est de le faire depuis ma liste client excel qui se trouve sur une clé usb

Discussions similaires

  1. créer et envoyer un email OUTLOOK depuis Excel
    Par francky74 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/07/2011, 11h36
  2. [XL-2007] Assembler plusieurs pdf depuis excel
    Par androginius dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/11/2010, 10h21
  3. [OL-2003] Importer mails et contacts depuis Windows Live Mail
    Par Daejung dans le forum Outlook
    Réponses: 0
    Dernier message: 31/05/2010, 10h39
  4. importation des contact depuis excel
    Par funkyjul dans le forum Outlook
    Réponses: 3
    Dernier message: 30/03/2008, 16h19
  5. [Mail] Envoyer mail à plusieurs destinataires
    Par nixax dans le forum Langage
    Réponses: 2
    Dernier message: 01/11/2006, 10h55

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