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 Outlook Discussion :

comment joindre un PJ a un msg Outlook


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut comment joindre un PJ a un msg Outlook
    Bonjour,

    J'ai récupéré ce code sur le forum et il marche trés bien.
    Je ne sais pas comment le modifier pour rajouter une pièce jointe. chemin d’accès : C:/piècejointe.pdf.

    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
     
    Dim strDest As String       ' L'adresse e-mail du destinataire
    Dim strMessage As String    ' Le corps du message
    Dim strHTML As String
    Dim oEmail As Outlook.MailItem
    Dim appOutlook As Outlook.Application
    Dim strObjet, strClient As String
    Dim db As DAO.database
     
    Set db = CurrentDb
     
    'Création du corps du message
    strMessage = "Bonjour"
    strMessage = strMessage & vbCrLf & vbCrLf & "Suite à notre conversation téléphonique, vous trouverez ci joint le dossier prévu."
    strMessage = strMessage & vbCrLf & vbCrLf & "Dans l'attente de vous lire,"
    strMessage = strMessage & vbCrLf & "Bien cordialement"
    strMessage = strMessage & vbCrLf & vbCrLf & "Nathalie"
     
    strDest = Forms!f_gestion!EMAIL
     
    strClient = Forms!f_gestion!PRENOM & " " & Forms!f_gestion!NOM
     
    strObjet = "document"
     
    'Initialisation et ouverture de Outlook : Envoi du message
    SendMail strDest & " " & ";" & " " & strClient & " " & ";" & " " & strObjet, strMessage, True
     
    Set db = Nothing
    end sub
    Merci d'avance pour votre aide,
    Mamanhou

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Je viens de trouver ...
    Merci
    Mamanhou

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    bonjour,

    voici le code modifié qui marche bien quand les pièces jointes existent :

    La fonction :
    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
     
    Public Function SendMail1( _
                                ByVal strEmail As String, _
                                ByVal strObj As String, _
                                ByVal strMsg As String, _
                                ByVal blnEdit As Boolean, _
                                Optional ByVal avarFichiers As Variant)
    Dim ol As outlook.Application
    Dim mi As outlook.MailItem
    Dim varPJ As Variant
     
    On Error GoTo OLMailErr
     
    Set ol = New outlook.Application
    Set mi = ol.CreateItem(olMailItem)
    With mi
        .To = strEmail
        .Subject = strObj
        .Body = strMsg
        For Each varPJ In avarFichiers
            .Attachments.Add (varPJ)
        Next
        If blnEdit Then
           .Display
        Else
           .Send
        End If
    End With
    Set mi = Nothing
    Set ol = Nothing
    Exit Function
     
    OLMailErr:
    MsgBox "Erreur : " & err.Number & vbCrLf & err.Description
    Exit Function
     
    End Function
    l'exécution :

    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
     
     
    Dim strDest As String       ' L'adresse e-mail du destinataire
    Dim strMessage As String    ' Le corps du message
    Dim strHTML As String
    Dim oEmail As Outlook.MailItem
    Dim appOutlook As Outlook.Application
    Dim strObjet, strClient As String
    Dim db As DAO.database
     
     
    Dim astrFichiers(1 To 7) As String
    Dim var_NomEntreprise As Variant
    Dim var_NomEntreprise1, var_NomEntreprise2, var_NomEntreprise3, var_NomEntreprise4, var_NomEntreprise5, var_NomEntreprise6 As Variant
     
    var_NomEntreprise = Forms![f_gestion_abonne]![].Value & "\" & ("Dossier de présentation.pdf")
    var_NomEntreprise1 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe.pdf")
    var_NomEntreprise2 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe 2.pdf")
    var_NomEntreprise3 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe 3.pdf")
    var_NomEntreprise4 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe 4.pdf")
    var_NomEntreprise5 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe 5.pdf")
    var_NomEntreprise6 = Forms![f_gestion_abonne]![].Value & "\" & ("Annexe 6.pdf")
     
     
    '** On stocke le nom de l'entreprise dans une variable **
    astrFichiers(1) = "Z:\Dossiers\" & var_NomEntreprise
    astrFichiers(2) = "Z:\Dossiers\" & var_NomEntreprise1
    astrFichiers(3) = "Z:\Dossiers\" & var_NomEntreprise2
    astrFichiers(4) = "Z:\Dossiers\" & var_NomEntreprise3
    astrFichiers(5) = "Z:\Dossiers\" & var_NomEntreprise4
    astrFichiers(6) = "Z:\Dossiers\" & var_NomEntreprise5
    astrFichiers(7) = "Z:\Dossiers\" & var_NomEntreprise6
     
    Set db = CurrentDb
     
    'Création du corps du message
    strMessage = "Bonjour"
    strMessage = strMessage & vbCrLf & vbCrLf & "Suite à notre conversation téléphonique, vous trouverez ci joint le dossier prévu."
    strMessage = strMessage & vbCrLf & vbCrLf & "Dans l'attente de vous lire,"
    strMessage = strMessage & vbCrLf & "Bien cordialement"
    strMessage = strMessage & vbCrLf & vbCrLf & "Nathalie"
     
    strDest = Forms!gestion!EMAIL
     
    strClient = Forms!gestion!PRENOM & " " & Forms!gestion!NOM
     
    strObjet = "document"
     
    'Initialisation et ouverture de Outlook : Envoi du message
    SendMail1 strDest, strMission & " " & ";" & " " & strClient & " " & ";" & " " & strObjet, strMessage, True, astrFichiers
     
    Set db = Nothing
    end sub
    Parfois je n'ai qu'1 annexe et parfois plusieurs ... Comment modifier mon code pour qu'il ignore les annexes non créées, car actuellement il bug en me disant que le fichier est introuvable.

    J'ai essayé de rajouter ce bout de code mais cela ne change rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If (Dir(astrFichiers(7),) <> "") Then
    astrFichiers(7) = "Z:\Dossiers\" & var_NomEntreprise6
    Else
    MsgBox "erreur"
    End If
    Merci d'avance pour votre aide
    Mamanhou

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Tu aurais eu plus de chance d'avoir une réponse si tu avais posté dans le bon forum.

    Les problèmes Outlook se posent dans le forum... Outlook.

    fil transféré.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Merci loufab

    J'espère avoir des réponses car je coince vraiment...
    Mamanhou

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    en modifiant dans le premier code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     For Each varPJ In avarFichiers
            .Attachments.Add (varPJ)
        Next
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For Each varPJ In avarFichiers
                     If (Dir(varPJ) <> "") Then
                          .Attachments.Add (varPJ)
                     end if
        Next

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Du coup il y a beaucoup plus de réponse !

    Merci Oliv-
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    un grand Merci oliv
    Je viens de tester... ca marche

    Mamanhou

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

Discussions similaires

  1. comment detecter si word ou excel ou outlook est installé?
    Par minette dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 11/08/2006, 18h24
  2. [C#] Comment joindre des arguments à un évènement ?
    Par Amnesiak dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2006, 15h17
  3. [VB.NET] [DEPLOIEMENT]Comment joindre un .rtf au project
    Par undergrotte dans le forum VB.NET
    Réponses: 6
    Dernier message: 07/11/2005, 11h02
  4. Comment joindre un fichier avec le composant CDONT
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 31/12/2004, 17h28
  5. Comment récupérer la liste des contacts de outlook express?
    Par arnaud_verlaine dans le forum Outlook Express / Windows Mail
    Réponses: 6
    Dernier message: 12/10/2004, 15h53

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