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 PDF + pièces jointes par mail [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Envoi PDF + pièces jointes par mail
    Bonjour à tous,
    je dois vous préciser qu'il ya 3 jours le VBA était du chinois pour moi.
    J'ai créé un formulaire "formulaire1" et un Etat 'PPC".
    Je souhaiterai envoyer l'état "PPC3 en pdf ainsi que 3 fichiers jointS par mail via outlook.
    J'ai réussi cette action dans Excel, mais pour de multiples raison je me tourne vers Access.
    Voici le code fonctionnant sous Excel
    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
     
    Sub Envoi()
    Dim celmed As String
    Dim nom As String, ol As New Outlook.Application, derlg As Integer, repcourant As String, p1 As Variant, p2 As Variant
    Dim olmail As MailItem, admail As String, messmail As String, i As Integer, nomfamille As String, prenom As String, daten As String, tech As String, medecin As String
     
    repcourant = Application.ThisWorkbook.Path
    If Dir(repcourant & "\Fiches Installations Aeris", 16) = "" Then MkDir repcourant & "\Fiches Installations Aeris"
     
    'paramètres :
     
    'attribution des cellules via feuille parametres
    celmed = Sheets("Parametres").Range("B1").Value
     
    'Autres parametres
    daten = "-" & Day(Now) & "." & Month(Now) & "." & Year(Now)
    nomfamille = ActiveSheet.Range("C11").Value 'case a lire
    prenom = ActiveSheet.Range("C13").Value 'case a lire
    tech = ActiveSheet.Range("F6").Value 'case a lire
    medecin = ActiveSheet.Range(celmed).Value 'case a lire
    messmail = "Ci-joint le rapport d'installation de Mr" & " " & nomfamille & " " & prenom & "," & " " & "réalisé par" & " " & tech
    admail = "xxxxxxx@xxxxx.fr"
    p1 = Sheets("Patient").Range("G19").Value
    p2 = Sheets("Patient").Range("G21").Value
     
     
    With Sheets("patient")
       .Select
       nom = ThisWorkbook.Path & "\" & "Fiches Installations Aeris" & "\" & nomfamille & "_" & prenom & daten & "-" & "Dr_" & medecin & ".pdf"
       'MsgBox nom
       .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
          nom, Quality:= _
          xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
          OpenAfterPublish:=False
    End With
     
     
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
       .To = admail
       .Subject = "Rapport Installation de Mr " & nomfamille & " " & prenom 'Sujet
       .Body = messmail 'Corps du mail
       .Attachments.Add nom
     
       If (IsEmpty(p1)) Then
        Else
        .Attachments.Add p1
        End If
     
        If (IsEmpty(p2)) Then
        Else
        .Attachments.Add p2
        End If
     
        .Display '.Send     'On peut switcher entre .send et .display selon que l'on veut envoyer le mail (send) ou seulement le préparer et le vérifier(display)
    End With
     
     
     
    End Sub
    J'ai tenté d'adapter le code pour access mais sans resultats.
    Je bloque a la creation du fichier 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
    30
    31
    32
    33
    34
    Private Sub BoutonParcourir1_Click()
    'Dim rp As Object, chemin As String, PieceJointe1 As Object
    'Set rp = Application.FileDialog(msoFileDialogOpen)
    ''With rp
    '.AllowMultiSelect = False
    '.InitialView = msoFileDialogViewDetails
    '.InitialFileName = "C:\"
    '.Show
    'End With
    'PieceJointe1.Text = chemin
     
    Dim fd As Office.FileDialog, chemin As String, nom As String
     
      ' Créer un objet FileDialog
      Set fd = Application.FileDialog(msoFileDialogOpen)
     
      ' Titre de la boîte de dialogue
      fd.Title = "Sélectionnez un fichier..."
     
      ' Ne pas autoriser la sélection multiple
      ' (donc 1 seul fichier est sélectionnable à la fois)
      fd.AllowMultiSelect = False
     chemin = fd.SelectedItems(1)
      ' Afficher la boîte de dialogue
      'If fd.Show() Then
       ' MsgBox "Vous avez sélectionné le fichier : " _
        '  & vbCrLf & fd.SelectedItems(1), vbInformation
      'End If
      Set fd = Nothing
    'MsgBox chemin
     
    Texte.SetFocus
    Texte.Text = chemin
    ActiveForm.ExportAsFixedFormat Path:="C:\test.pdf", FixedFormatType:=ppFixedFormatTypePDF
    La dernière ligne est évidement fausse. J'ai parcouru plusieurs sujets concernant la generation d'un fichier pdf et de l'envoi par mail, mais je ne m'en sort pas. Merci de votre aide.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Je bloque a la creation du fichier pdf.
    Utilise la méthode Docmd.OutPutTo
    Nota : à partir d'Access 2010, la création de Pdf est autonome, pas besoin d'un logiciel spécifique installé (intéressant pour la distribution avec Runtime)

    titi95

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titi95 Voir le message
    Bonjour
    Utilise la méthode Docmd.OutPutTo
    Nota : à partir d'Access 2010, la création de Pdf est autonome, pas besoin d'un logiciel spécifique installé (intéressant pour la distribution avec Runtime)

    titi95
    Bonjour
    Petite correction:
    A partir de Access 2007 SP2.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Merci, c'est Parfait tout fonctionne . Est il possible d'eviter la visualisation de l'état généré dans access ?

  5. #5
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Tu peux lancer OutputTo sans ouvrir l'objet.

    titi95

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    C'est tellement évident que ........ j'ai honte
    Merci.

    avec ouverture fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'creation PDF
    DoCmd.OpenReport "etat", acViewPreview, , ""
    DoCmd.OutputTo acOutputReport, , "PDF", "c:\monrepertoire\" & NomFichier
    sans ouverture fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'creation PDF
    DoCmd.OutputTo acOutputReport,"etat" , "PDF", "c:\monrepertoire\" & NomFichier

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

Discussions similaires

  1. Envoi de pièce jointe par mail qui arrive vide
    Par abc.xyz dans le forum Langage
    Réponses: 9
    Dernier message: 02/07/2015, 15h24
  2. Envoi de pièce jointe par mail en Visual Basic
    Par Milano022 dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/06/2015, 15h46
  3. Upload + envoi de pièce jointe par mail
    Par cover70 dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2012, 14h54
  4. Envoie une pièce jointe par mail en RPGle
    Par Lisogane dans le forum AS/400
    Réponses: 2
    Dernier message: 03/03/2011, 17h57
  5. XBAP - Envoi de pièce jointe par mail
    Par YHDVP dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 22/10/2009, 16h56

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