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 :

Envoi de mail par outlook avec signature


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Envoi de mail par outlook avec signature
    Bonjour,

    Il m'arrive un truc que je n'arrive pas expliquer.
    J'ai une base Access qui tourne depuis pas mal de temps
    J'utilise Outlook pour envoyer des Email et ça marchait bien.
    Depuis aujourd’hui, les email s'affiche bien dans oulook mais plus de signature et la police à changé !
    Sur tous les postes et même en utilisant une vielle copie de la base (donc vieux code oppérationnel).

    Vous avez déjà eu ça ?

    Un exemple de code qui fonctionnait mais qui ne marche plus
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    Private Sub B_Envoyer_Click()
     
        'Déclaration des variables
        Dim MonOutlook As New Outlook.Application
        Dim MonMessage As Outlook.MailItem
        Dim MyAttachments As Outlook.Attachments
        Dim Msg As String
        Dim MsgAuto As String
        Dim IntroLibre As String
        Dim IntroAuto As String
        Dim Signature As HTMLText
        Dim Con As ADODB.Connection
        Dim Jeu_Enr As ADODB.Recordset
        Dim Jeu_Enr_ses As ADODB.Recordset
        Dim txt As String
        Dim CheminPJ As String
     
        'Vérification du mode test
        If Table_INF = "" Then Table_INF = "INFormation_Test"
        If Chemin = "" Then Chemin = "C:\"
     
        'Initialisation des objets
        Set MonMessage = MonOutlook.CreateItem(0)
        Set MyAttachments = MonMessage.Attachments
     
        Set Con = CurrentProject.Connection
        Set Jeu_Enr = New ADODB.Recordset
        Set Jeu_Enr_ses = New ADODB.Recordset
     
        'Gestion des pièces jointes
        If Me.S_Bulletin_PDF = -1 Then
            CheminPJ = Chemin & "Bulletin d'inscription.pdf"
            DoCmd.OutputTo acOutputReport, "E_Doc_Envoi_Info_Bi", acFormatPDF, CheminPJ
            MyAttachments.Add CheminPJ
        End If
     
        If Me.S_Programme_PDF = -1 Then
            CheminPJ = Chemin & "Programme de formation.pdf"
            DoCmd.OutputTo acOutputReport, "E_Doc_Programme_OPQF", acFormatPDF, CheminPJ
            MyAttachments.Add CheminPJ
        End If
     
        SQl = "SELECT " & Table_INF & ".INF_Chemin, " & Table_INF & ".INF_Select, " & Table_INF & ".INF_Désignation" & _
        " From " & Table_INF & _
        " WHERE (((" & Table_INF & ".INF_Select)=True));"
     
        Jeu_Enr.Open SQl, Con, adOpenForwardOnly, adLockReadOnly
     
        SQl = "SELECT SESsions.*, REPertoire.*, STAge.*" & _
        " FROM STAge RIGHT JOIN (SESsions LEFT JOIN REPertoire ON SESsions.SES_Lieu = REPertoire.REP_Num) ON STAge.STA_Num = SESsions.SES_Stage" & _
        " WHERE (((SESsions.SES_Num)=" & Me.SES_Num & "));"
     
        Jeu_Enr_ses.Open SQl, Con, adOpenForwardOnly, adLockReadOnly
     
        Do While Not Jeu_Enr.EOF
     
            If Dir(Jeu_Enr!INF_Chemin) <> "" Then
                txt = Jeu_Enr!INF_Chemin
                MyAttachments.Add txt
            End If
     
            Jeu_Enr.MoveNext
        Loop
     
        'Création du message
        IntroAuto = "<FONT size='3'><FONT face='tahoma'>Bonjour,<br/><br/>Comme convenu, veuillez trouver ci-joints les documents et les informations relatifs à la formation : " & DLookup("STA_Titre", "STAge", "STA_Num =" & Me.SES_STA) & "."
        IntroLibre = "Bonjour,"
     
        Do While Not Jeu_Enr_ses.EOF
            MsgAuto = MsgAuto & "<br/>   - Durée : " & Jeu_Enr_ses!STA_Duree_j & " jour(s)"
            MsgAuto = MsgAuto & "<br/>   - Lieu : " & Jeu_Enr_ses!REP_Ville
            If (Jeu_Enr_ses!STA_Duree_j > 1) Then
                MsgAuto = MsgAuto & "<br/>   - Dates : Du " & Jeu_Enr_ses!SES_DD & " au " & Jeu_Enr_ses!SES_DF
            Else
                MsgAuto = MsgAuto & "<br/>   - Date : Le " & Jeu_Enr_ses!SES_DD
            End If
     
            Jeu_Enr_ses.MoveNext
        Loop
     
        If Me.S_Lien_Programme = -1 Then MsgAuto = MsgAuto & "<br/><br/> Vous pouvez également consulter le programme et vous inscrire directement sur notre nouveau site Internet en cliquant sur les liens ci-dessous  : <br/>   - Pour consulter le programme de la formation : " & "<a href=https://anofab.fr/" & Me.SES_STA & " >Cliquez ici</a><br/>"
        If Me.S_Lien_Inscription = -1 Then MsgAuto = MsgAuto & "   - Pour vous inscrire par Internet : <a href=http://www.anofab.fr/formation/stage/" & Me.SES_STA & "/" & Me.SES_Num & ">Cliquez ici</a>"
     
        Select Case Me.S_Type_Message
            Case 1 'Message automatique
            Msg = IntroAuto & MsgAuto
     
            Case 2 'Message libre
            Msg = Me.SAI_Message
     
            Case 3 'Message automatique + message libre
            Msg = IntroAuto & MsgAuto & Me.SAI_Message
     
            Case 4 'Message libre + message automatique
            Msg = Me.SAI_Message & MsgAuto
     
            Case Else: Exit Sub
        End Select
     
        Msg = Msg & "<br/><br/>Je reste à votre disposition pour toute information complémentaire, n'hésitez pas à me contacter.<br/><br/>Bien cordialement,"
     
     
     
        With MonMessage
     
            If Me.Voir = -1 Then
                .Display
            Else
                .Send
            End If
     
            .To = Me.Destinataire 'destinataire
            .Subject = Me.Objet 'objet
            .HTMLBody = Msg & .HTMLBody
        End With
     
        'Déselection des documents
        SQl = "UPDATE " & Table_INF & " SET " & Table_INF & ".INF_Select = False" & _
        " WHERE (((" & Table_INF & ".INF_Select)=True));"
     
        DoCmd.SetWarnings False 'désactive les messages d'info auto
        DoCmd.RunSQL SQl
        DoCmd.SetWarnings True 'active les messages d'info auto
     
        'désallocation des objets
        Jeu_Enr.Close
        Set MonOutlook = Nothing
        Set Con = Nothing
     
        DoCmd.Close acForm, "F_Envoi_Info"
     
    End Sub
    Les solutions les plus simples sont les plus efficaces

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Vous pouvez gérer la signature Outlook via l'application Outlook même où vous pouvez définir la signature par défaut qui s'ajoute automatiquement à chaque nouvel eMail; à faire sur chaque poste !
    Lorsque Access lance un nouvel eMail, Outlook va d'office charger la signature par défaut.

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    A lire ici ou .
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Le truc très étrange avec le code que j'ai mis au début de la discussion c'est que ce code fonctionnait bien sur tous les postes en dehors d'un qui avait tendance à faire buguer la base ACCESS en arrière plan (pas à chaque fois).
    Mais malgré tout, le mail était bien généré, la police était correctement paramétrée et la signature du compte par défaut d'outlook était systématiquement ajoutée.
    Et en l'espace d'une heure, en pleine journée, plus aucun poste ne fonctionnait plus comme ça !
    La police n'était plus la même et la signature n'était plus insérée.
    Pas acquis de conscience, j'ai testé avec une vieille copie de la base et bien même l'ancienne copie ne fonctionnait plus !? Donc on peut en déduire que ce n'est pas un changement du code qui a provoqué ça.

    Comment expliquer que le fonctionnement puisse changer d'un moment à l'autre, sur tous les postes et sans modification du code ou des paramètres de la base ou d'outlook !?

    Merci de votre aide
    Les solutions les plus simples sont les plus efficaces

Discussions similaires

  1. Envoyer Mail depuis outlook avec Signature
    Par leo13 dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/12/2009, 13h49
  2. Préparation d'envoi de mail sous Outlook avec pièce jointe
    Par Ivynox dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/04/2008, 11h08
  3. Envoi de mail sous outlook avec un exchange
    Par damocles666 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 24/07/2007, 10h29
  4. Envoi de mails par Outlook
    Par popofpopof dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/06/2007, 20h54
  5. [VB.NET] Envoie de mail par outlook
    Par olbi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/04/2006, 17h03

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