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

Excel Discussion :

Joindre un fichier pdf dans un dossier à un email


Sujet :

Excel

  1. #1
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut Joindre un fichier pdf dans un dossier à un email
    Bonjour à tous

    malgré plusieurs recherches sur le net, je n'arrive pas à trouver la solution à mon problème.

    Je souhaiterais joindre un fichier pdf (que je génère avec un module PDF trouvé sur ce le site suivant et qui fonctionne très bien : http://www.hastursoft.com/pdf/genere...t161.html#p317 ) à un email...

    Problème, mon client de messagerie est Zimbra Desktop...

    Est ce possible ? Si oui, pourriez vous m'aider.

    Par avance merci de votre aide...

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et que viens faire excel ?

  3. #3
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Bonjour,

    J'édite des états à partir d'Excel et les envoit par email ensuite...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Pierre,

    Ci-joint le mode opératoire de mon fournisseur Darty pour paramétrer mon OutLook : http://www.dartybox.com/cms/web/assi...e-outlook-2010


    Sinon, voilà ce que cela donne dans un de mes programmes


    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
        If EnvoyerMail = True Then
     
                Set ObjMessage = CreateObject("CDO.Message")
                With ObjMessage
                        .Subject = NomDuFichier
                        .From = AdresseMailEmetteur
                        .To = AdresseMailDestinataire
                        .TextBody = "Votre texte" & vbCrLf & "Cordialement."
                        .AddAttachment NomConcatene
                        '"== Cette section fournit les informations de configuration pour le serveur SMTP distant.
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/SendUsing") = 2
                        'Nom ou adresse IP du serveur SMTP à distance
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com"
                        ' Type d'authentification, NONE, Basic (Base64 codé), NTLM
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
                        'Votre nom d'utilisateur sur le serveur SMTP
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Votre_Adresse_De_Messagerie"
                        '"Votre mot de passe sur le serveur SMTP
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Votre_mot_de_passe"
                        'serveur "du port (généralement 25)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 587
                        'Utiliser SSL pour la connexion (Faux ou Vrai)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                        'Connection Timeout en secondes ( le temps maximum CDO va essayer d'établir une connexion au serveur SMTP)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
                        .Configuration.Fields.Update
     
                        '"== Fin de la section SMTP distant configuration du serveur ==
                       .Send
     
                End With
     
     
                Set ObjMessage = Nothing
     
        End If
    Cordialement.

  5. #5
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Merci mais cela est pour Outlook ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je n'utilise pas Outlook pour envoyer mes mails. Le mode opératoire m'a permis de trouver les paramètres qui se retrouvent dans le code joint.

    Il vous faut regarder vos paramètres de messagerie sur votre machine et les transposer sinon il faut prendre contact avec votre fournisseur pour qu'il vous fournisse les paramètres.

    Cordialement.

  7. #7
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Merci je vais essayer de tester cela !!!

    Je vous tiens au courant !

  8. #8
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Merci, cela marche nickel...

    A bientot.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Pour envoyer le fichier, il vous suffit de mettre le chemin avec le nom du fichier à la place de NomConcatene dans la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .AddAttachment NomConcatene
    du fichier envoyé.


    Ci-joint une solution complète avec PdfCreator.


    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
     
    Sub EditerAuFormatPdf_PdfCreator()
     
    Dim ObjMessage As Object
    Dim JobPDF As Object
    Dim NomConcatene As String
     
    Const cdoSendUsingPickup = 1 'Envoyer un message en utilisant le répertoire SMTP local de ramassage de service.
    Const cdoSendUsingPort = 2 'Envoyer le message en utilisant le réseau (SMTP sur le réseau).
    'Const cdoAnonymous = 0 'Ne pas authentifier
    'Const cdoBasic = 1 'de base (clair- texte) d'authentification Const cdoNTLM = 2 'NTLM
     
        Continuer = True
        Call ControlerLesDroitsDUtilisation
        If Continuer = False Then Exit Sub
     
     
        RepertoireSauvegarde = Sheets("Paramètres").Range("RepertoireSauvegardes")
     
        ChDir RepertoireSauvegarde
     
        CompetitionNomEpreuve = Sheets("Inscriptions").Range("CompetitionChoisie")
        CompetitionDateEpreuve = DateDeCreationMail(Sheets("Inscriptions").Range("CompetitionDate"))
        AdresseMailDestinataire = Sheets("Modèle facture").Range("MailDestinataireFacture")
        AdresseMailEmetteur = Sheets("Modèle facture").Range("MailEmetteurFacture")
     
        NomDuFichier = "Facture " & CompetitionNomEpreuve & " " & CompetitionDateEpreuve & " " & Sheets("Modèle facture").Range("FactureClub") & ".pdf"
        NomConcatene = RepertoireSauvegarde & "\" & NomDuFichier
     
        Sheets("Modèle facture").Activate
     
        If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
     
        Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")
     
        With JobPDF
            If .cStart("/NoProcessingAtStartup") = False Then
                MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
                Exit Sub
            End If
     
            .cOption("UseAutosave") = 1
            .cOption("UseAutosaveDirectory") = 1
            .cOption("AutosaveDirectory") = RepertoireSauvegarde
            .cOption("AutosaveFilename") = NomDuFichier
     
            '-------------------------------------------------------------
            ' 0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
            '-------------------------------------------------------------
            .cOption("AutosaveFormat") = 0
            .cClearCache
     
        End With
     
        ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
     
        '------------------------------
        'Fichier dans la file d'attente
        '------------------------------
        Do Until JobPDF.cCountOfPrintjobs = 1
            DoEvents
        Loop
        JobPDF.cPrinterStop = False
     
        '----------------------------------------
        'Attendre que la file d'attente soit vide
        '----------------------------------------
        Do Until JobPDF.cCountOfPrintjobs = 0
            DoEvents
        Loop
     
      '  MsgBox (RepertoireSauvegarde & "\" & NomDuFichier)
     
        JobPDF.cClose
     
        '--------------------------
        ' Envoi du fichier par mail
        '--------------------------
        Set JobPDF = Nothing
     
     
     
        If EnvoyerMail = True Then
     
                Set ObjMessage = CreateObject("CDO.Message")
                With ObjMessage
                        .Subject = NomDuFichier
                        .From = AdresseMailEmetteur
                        .To = AdresseMailDestinataire
                        .TextBody = "Bonjour" & vbCrLf & vbCrLf & "Vous trouverez, ci-joint, une facture correspondant aux inscriptions à une compétition." & vbCrLf & vbCrLf & "Cordialement."
                        .AddAttachment NomConcatene
                        '"== Cette section fournit les informations de configuration pour le serveur SMTP distant.
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/SendUsing") = 2
                        'Nom ou adresse IP du serveur SMTP à distance
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com"
                        ' Type d'authentification, NONE, Basic (Base64 codé), NTLM
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
                        'Votre nom d'utilisateur sur le serveur SMTP
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "VotreAdresse"
                        '"Votre mot de passe sur le serveur SMTP
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "VotreMotDePasse"
                        'serveur "du port (généralement 25)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 587
                        'Utiliser SSL pour la connexion (Faux ou Vrai)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                        'Connection Timeout en secondes ( le temps maximum CDO va essayer d'établir une connexion au serveur SMTP)
                        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
                        .Configuration.Fields.Update
     
                        '"== Fin de la section SMTP distant configuration du serveur ==
                       .Send
     
                End With
     
     
                Set ObjMessage = Nothing
     
        End If
     
    End Sub

  10. #10
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Oui merci. J'avais pas vu le "attachement"...

    Ce code marche vraiment bien, et avec peu de paramétrage... Très simple à utiliser merci beaucoup.

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

Discussions similaires

  1. Enregistrer un classeur en PDF dans le dossier d'origine du fichier EXCEL
    Par barnoult dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/04/2015, 18h25
  2. [XL-2007] Enregistrer un classeur en PDF dans le dossier d'origine du fichier EXCEL
    Par chikikonkarne dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/04/2015, 21h07
  3. [Batch] Supprimer de fichier .pdf dans un dossier zippé à partir d'une liste
    Par Gardel dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 09/11/2010, 12h35
  4. [MySQL]Inserer fichier pdf dans une table
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/11/2005, 16h08
  5. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37

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