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

Macros et VBA Excel Discussion :

envoi de pièce jointe par mail


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut envoi de pièce jointe par mail
    Bonjour a tous, merci de accueillir sur ce forum.
    j'expose mon problème: j'ai crée une macro pour enregistrer une feuille excel en PDF en envoi par mail, ça fonctionne très bien en insérant la feuille dans le corps du message. Sauf que je voudrais l’insérer en pièce jointe. J'ain donc modifier certaines choses mais j'ai systématiquement un bug sur cette ligne : Item.Attachments.Add nomFichier. J'utilise W10 et office 2016. Merci pour votre aide. Voici ma macro.

    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
    Sub Envoi()
        Dim nomFichier As String
        Dim cheminFichier As String
        Dim CorpsMessage As String
     
        nomFichier = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Range(" E9") & "-" & Range("B16")
        cheminFichier = "C:\Users\Thierry\Desktop\sauvegarde\" & nomFichier
     
        ActiveSheet.Range("A1:G47").Select ' la plage de cellules à envoyer
     
        ' Partie du code permettant l'enregistrement du fichier
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=cheminFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
     
        ' Partie permettant l'envoi avec pièce jointe
     
     
        ActiveWorkbook.EnvelopeVisible = True
        With ActiveSheet.MailEnvelope
        .Item.to = "xxx@xxx.fr"
        .Item.Subject = Range("e9")
        .Introduction = "Bonjour," & vbCrLf & vbCrLf _
                        & "Veuillez trouver ci-joint le bon de commande pour le véhicule" & " " & Range("E9").Value & vbCrLf & vbCrLf _
                        & "Cordialement"
            .Item.Attachments.Add nomFichier
            .Item.Send
     
            Range("e7,e9,g12,a36").Value = ""
     
            ActiveWorkbook.Save
            If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
        End With
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour,

    Sauf erreur de ma part, dans ta variable nomFichier il n'y a pas le chemin or le chemin est nécessaire pour l'insertion de la PJ dans le mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     nomFichier = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Range(" E9") & "-" & Range("B16")
        cheminFichier = "C:\Users\Thierry\Desktop\sauvegarde\" & nomFichier
    Remplace donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Item.Attachments.Add nomFichier
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Item.Attachments.Add cheminFichier
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Merci, mais ça fait la même chose.

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Personnellement, ayant rencontré des problèmes quant à l'emploi de la méthode EnvelopeVisible, je préfère
    - Piloter l'application Outlook en fermant la session éventuelle et en ouvrant une nouvelle
    - Créer un item et lui attacher la pièce jointe
    - Adresser celui-ci

    J'ai reporté ce développement dans cette discussion.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  5. #5
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Merci pour ce retour, mais n'étant pas très a l'aise avec la programmation, je n'arrive pas à l'adapter.

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Citation Envoyé par Thierry60440 Voir le message
    Merci, mais ça fait la même chose.
    Peux-tu vérifier si dans ta variable nomFichier tu as l'extension ou pas ?
    Si la réponse est non, essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Item.Attachments.Add cheminFichier &".pdf"
    edit: si ça ne fonctionne toujours pas, peux-tu nous donner le contenu exact de tes variables au moment de l'erreur
    Peux-tu aussi essayer d'écrire en dur le chemin + le nom + l'extension du fichier et ainsi voir si ça fonctionne sans variable
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup, ça fonctionne . Sans vouloir abuser, ça m'affiche toujours la PJ dans le corps du message, y a t'il moyen de le supprimer ?

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Citation Envoyé par Thierry60440 Voir le message
    Merci beaucoup, ça fonctionne . Sans vouloir abuser, ça m'affiche toujours la PJ dans le corps du message, y a t'il moyen de le supprimer ?
    Peut-être parce que tu utilise MailEnvelope ? Je n'ai jamais testé

    Ci-dessous, la macro d'envoi de mail que j'utilise:


    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
     
    Dim ObjOutlook As Object
    Set ObjOutlook = CreateObject("outlook.application")
     
    Set oBjMail = ObjOutlook.CreateItem(olMailItem)
            With oBjMail
                .Display 'pour la signature
                .To = "" 'destinataire
                .CC = "" 'copie
                .Subject = "" 'titre
                .Body = ""  'message
                .Attachments.Add "chemin et nom avec extension de la pj"  'pièces jointes
     
                'au choix l'une des trois lignes suivantes
                .Display 'pour afficher le message dans outlook
                '.Save 'pour le sauver dans les brouillons
                '.send 'pour l'envoyer
     
            End With
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Bonjour, j'ai modifié en passant envelopeVisible de true en false, mais ça ne change rien. C'est pas grave, ce n'est pas ce qui me gêne le plus. Merci pour vos collaboration.

Discussions similaires

  1. 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
  2. Upload + envoi de pièce jointe par mail
    Par cover70 dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2012, 14h54
  3. [AC-2010] Envoi PDF + pièces jointes par mail
    Par renard700 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/06/2012, 20h25
  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