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

VBA Access Discussion :

Exporter une liste de courriel dans Outlook


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 39
    Points : 19
    Points
    19
    Par défaut Exporter une liste de courriel dans Outlook
    Bonsoir,
    À nouveau je viens vers vous pour savoir s'il est possible de générer un groupe de contacts Outlook suite à une requête dans un programme access et que cela se fasse automatiquement pour entrer dans Outlook et ensuite envoyer un message à tous les membres trouvés....
    Un gros merci à l'avance!

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour nachise,
    Je ne sais pas pour créer un groupe dans Outlook à partir d'Access. Mais pour ce qui est d'envoyer un mail à partir d'une requête tu peux fonctionner comme ceci:
    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
       'récupérer les adresses 
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Dim strSQL As String, strDest As String
        Set db = CurrentDb
        strSQL = "Ta requête"
        Set rst = db.OpenRecordset(strSQL)
        rst.MoveFirst
        strDest = ""
        While rst.EOF = False
            If strDest = "" Then
                strDest = rst("AdresseEmail")
     
            Else
                strDest = strDest & ";" & rst("AdresseEmail")
     
            End If
            rst.MoveNext
        Wend
        rst.close
        Set rst = Nothing
        Set db = Nothing
    Puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        ' Envoyer un mail.
        Dim outobj As Outlook.Application
        Dim outappt As Outlook.MailItem
        Set outobj = CreateObject("outlook.application")
        Set outappt = outobj.CreateItem(olMailItem)
        With outappt
            .To = strDest 'Ta liste de destinataire
            .Body = "Ton message"
            .Subject = "Le titre du message"
            .Importance = olImportanceHigh 'Importance du message
            .Display 'Ouvre le message Outlook
        End With
       ' Libérez la variable objet Outlook.
       Set outobj = Nothing
    J'espère que ça peut t'aider.
    Bonne journée

  3. #3
    Membre à l'essai
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 39
    Points : 19
    Points
    19
    Par défaut
    Merci.
    Je vais essayer cela et je vous en redonne des nouvelles.
    Bonne fin de journée!

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 365
    Points : 19 757
    Points
    19 757
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    En complément, pour créer un nouveau contact dans un dossier Outlook tu peux regarder ceci.

    A adapter à ton cas

    A+

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 365
    Points : 19 757
    Points
    19 757
    Billets dans le blog
    65
    Par défaut
    Salut,

    Pour être plus clair, voici un exemple de fonction qui peut le faire :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Public Function EnvoiMail(Objet, Message)
    'Ajouter les références suivantes :
    'Microsoft Outlook 12.0
     
    Dim oMail As Outlook.MailItem
    Dim olkapp As Outlook.Application
    Dim olknamespace As Object
    Dim objOLfolder As Outlook.MAPIFolder
    Dim objMnfolder As Outlook.MAPIFolder
    Dim itms As Outlook.Items
    Dim olkItem As Outlook.ContactItem
     
    Dim dest As String
     
        If Not IsOutLookRunning() Then
              Dim oShell As Object
              Set oShell = CreateObject("WScript.Shell")
              oShell.Run "outlook"
              Set oShell = Nothing
        End If
     
         'ouverture de l'object outlook
     
        Set olkapp = CreateObject("Outlook.application")
        Set olknamespace = olkapp.GetNamespace("MAPI")
     
        Set olMnfolder = olknamespace.Folders("Fichier de données Outlook")
        Set objOLfolder = olMnfolder.Folders("Contacts")
     
        Set itms = objOLfolder.Items
     
        For i = 1 To itms.Count
           Set olkItem = itms(i)
           dest = dest & olkItem.Email1Address & ";"
        Next i
     
       Set oMail = olkapp.CreateItem(olMailItem)
     
       With oMail
        .To = dest
        .Subject = Objet
        .Body = Message
        '.Save
        .Display
        End With
     
    EnvoiMail = oMail.EntryID
     
    Set oMail = Nothing
    'Ferme Outlook
    'olkapp.Quit
    Set olkItem = Nothing
    Set itms = Nothing
     
    'fermeture et libération des objets
    Set objOLfolder = Nothing
    Set objMnfolder = Nothing
     
    Set olknamespace = Nothing
    Set olkapp = Nothing
     
    End Function
    Avec une fonction en plus pour tester si Outlook tourne:

    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
    Public Function IsOutLookRunning() As Boolean
    On Error Resume Next
     
        'Get a reference to Word if it's open
        Set objOutLook = GetObject(, "OutLook.Application")
     
        'If Word isn't open, create an instance of it
        If (Err <> 0) Then
            IsOutLookRunning = False
        Else
            IsOutLookRunning = True
        End If
     
    Set objOutLook = Nothing
     
    End Function
    A+

Discussions similaires

  1. [OL-2007] Importer une liste de contact dans outlook 2007 à partir de EBP ?
    Par quaresma dans le forum Outlook
    Réponses: 0
    Dernier message: 15/04/2010, 20h57
  2. Réponses: 2
    Dernier message: 31/05/2006, 09h54
  3. Réponses: 1
    Dernier message: 24/05/2006, 11h00
  4. exporter une base de donnée dans excel
    Par ptitange dans le forum Access
    Réponses: 25
    Dernier message: 31/03/2006, 12h27
  5. Réponses: 2
    Dernier message: 26/11/2005, 13h44

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