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 :

Code VBA pour une sortie PDF et l'envoie par mail


Sujet :

VBA Access

  1. #1
    Membre averti
    Homme Profil pro
    administrateur
    Inscrit en
    Juin 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Algérie

    Informations professionnelles :
    Activité : administrateur

    Informations forums :
    Inscription : Juin 2020
    Messages : 54
    Par défaut Code VBA pour une sortie PDF et l'envoie par mail
    Bonjour,
    Je travaille sur une base de gestion et d’édition des résultats d’un laboratoire d’analyses médicales.
    Je veux :
    • Editer l’état en format PDF ;
    • Archiver cet état produit en PDF dans un dossier;
    • Inscrire cet état produit en PDF dans la base ;
    • Et envoyer au patient par courrier électronique, une copie du compte rendu d’analyses format PDF.


    J’ai créé un bouton sur le formulaire et voilà 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
    Dim fichier As String
    Dim base As Database: Dim requete As String
    Dim client_msg As New Outlook.Application
    Dim message As Outlook.MailItem
    Dim adresse As String: Dim ligne As Recordset
    fichier = "C:\Users\hp\Documents\Archives_labo\Bilann_" & NBilan.Value & ".pdf"
    DoCmd.OutputTo acOutputReport, "E_Resultats", acFormatPDF, fichier, False
    Set base = Application.CurrentDb
    requete = "UPDATE T_Bilans SET Bilan_Num = 'Bilann_" & NBilan.Value & ".pdf' WHERE NBilan=" & NBilan.Value
    base.Execute requete
    Set ligne = base.OpenRecordset("SELECT Email FROM T_Patients WHERE NPatient=" & NPatient.Value, dbOpenDynaset)
    ligne.MoveFirst
    adresse = ligne.Fields("Email").Value
    ligne.Close
    base.Close
    Set ligne = Nothing
    Set base = Nothing
    If (adresse <> "") Then
     
    If (MsgBox("Joindre la facture par courrier électronique", vbYesNo) = 6) Then
     
    Set message = client_msg.CreateItem(olMailItem)
    With message
    .Recipients.Add adresse
    .Subject = "Votre facture"
    .Body = "Cher client, veuillez trouver votre facture en pièce jointe"
    .Attachments.Add fichier
    .Send
    End With
     
    End If
    End If
    ça fonctionne très bien pour la sortie en format PDF et l'archivage des états produits, malheureusement ça bloque au niveau de l'envoie par mail :
    une solution svp

    Nom : Screenshot E1.png
Affichages : 84
Taille : 109,3 Ko
    Nom : Screenshot E2.png
Affichages : 74
Taille : 22,0 Ko

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 135
    Par défaut
    Bonjour,

    je pense que la syntaxe est plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with message
      .to = adresse

  3. #3
    Membre averti
    Homme Profil pro
    administrateur
    Inscrit en
    Juin 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Algérie

    Informations professionnelles :
    Activité : administrateur

    Informations forums :
    Inscription : Juin 2020
    Messages : 54
    Par défaut
    Bonjour,
    merci pour votre répone, finalement c'est la synthaxe qui fonctionne.
    j'avance finalement, maintenant le code appelle outlook.
    je travaille sur office 10 et j'arrive pas à configurer mon compte de mesagerie outlook avec outlook 2010 !!!!
    une idée sur ça ?
    merci

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 135
    Par défaut
    Non désolé, je connais très mal outlook

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

Discussions similaires

  1. [AC-2013] Code VBA pour une date
    Par boulser dans le forum Access
    Réponses: 2
    Dernier message: 30/07/2015, 23h17
  2. Réponses: 7
    Dernier message: 15/08/2012, 17h16
  3. Appliquer un format particulié pour une sortie PDF
    Par sasuser2 dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 09/05/2012, 17h15
  4. Réponses: 4
    Dernier message: 22/12/2011, 03h22

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