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 :

Envoyer plusieurs pièces jointes [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Envoyer plusieurs pièces jointes
    bonjour a vous tous
    dans la discussion que rdurupt a bien menée
    serai t-il possible de pouvoir également envoyer plusieurs pièces jointes au fichier d'envoi de mails de patricktoulon légèrement modifié pour intégré cc; cci et recu d'envoi mais qui ne fonctionne pas avec outlook
    http://cjoint.com/?DFivOasr8E1 je suis obliger de passer par cjoint car xlsm est refusé en pièces jointes
    merci par avance de ce que vous pourriez faire

    Pascal

  2. #2
    Invité
    Invité(e)
    Par défaut Bonsoir,
    zip le XLSM
    dans le même esprit
    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
    Const cdoAnonymous = 0 'Do not authenticate
    Const cdoBasic = 1 'basic (clear-text) authentication
    Const cdoNTLM = 2 'NTLM
    const SSL=false
    'Delivery Status Notifications
    Const cdoDSNDefault = 0 'None
    Const cdoDSNNever = 1 'None
    Const cdoDSNFailure = 2 'Failure
    Const cdoDSNSuccess = 4 'Success
    Const cdoDSNDelay = 8 'Delay
    Const cdoDSNSuccessFailOrDelay = 14 'Success, failure or delay
    Public Function MailEnvoi(Serveur, Identify, SSL, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, DestEnCah, Objet, Body, Pj)
    On Error Resume Next
    MailEnvoi = True
    Dim Log
    Dim I
    ' sub pour envoyer les mails
    Dim msg
    Dim Conf
    Dim Config
    Dim ess
    Dim splitPj
    Dim IsplitPj
    Dim schema
    Const cdoBasic = 1
     
    Set msg = CreateObject("CDO.Message") 'pour la configuration du message
    Set Conf = CreateObject("CDO.Configuration") '  pour la configuration de l'envoi
    Dim strHTML
     
    Set Config = Conf.Fields
     
    ' Configuration des parametres d'envoi
    '(SMTP - Identification - SSL - Password - Nom Utilisateur - Adresse messagerie)
    schema = "http://schemas.microsoft.com/cdo/configuration/" 'smtpusessl
    With Config
     
    If Identify <> 0 Then
        .Item(schema & "smtpusessl") = SSL
        .Item(schema & "smtpusetls") = 1
        .Item(schema & "smtpauthenticate") = Identify
        .Item(schema & "sendusername") = User
        .Item(schema & "sendpassword") = PassWord
    End If
        .Item(schema & "smtpserverport") = Port
        .Item(schema & "sendusing") = 2
        .Item(schema & "smtpserver") = Serveur
        .Item(schema & "smtpconnectiontimeout") = Delay
        .Item(schema & "enablessl") = 1
     
        .Update
    End With
    'Configuration du message
    'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1
     
    With msg
        Set .Configuration = Conf
     
        .To = Dest
        .cc = DestEnCopy
        .bcc = Expediteur & DestEnCah
        .FROM = Expediteur
        .Subject = Objet
    '   .DSNOptions = cdoDSN
    '
     
        .htmlbody = Replace(Replace(Body, Chr(13), "", 1, -1), Chr(10), "<br>", 1, -1) '"<p align=""center""><font face=""Verdana"" size=""1"" color=""#9224FF""><b><br><font face=""Comic Sans MS"" size=""5"" color=""#FF0000""></b><i>" & body & "</i></font> " 'E_mail.ZThtml.Text
                If Pj <> "" Then
            splitPj = Split(Pj & ";", ";")
     
            For IsplitPj = 0 To UBound(splitPj)
                If Trim("" & splitPj(IsplitPj)) <> "" Then
                    .AddAttachment Trim("" & splitPj(IsplitPj))
                    If Err <> 0 Then
                        MailEnvoi = False
                        Exit Function
                    End If
                End If
            Next
     
        End If
     
        .Send 'envoi du message
        If Err <> 0 Then
               MailEnvoi = False
        Else
               MailEnvoi = True
        End If
     
    On Error GoTo 0
    End With
     
    Set msg = Nothing
    Set Conf = Nothing
    Set Config = Nothing
     
    End Function

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    Bonsoir rdurupt

    waouh, ça c'est un bloc de code que je ne sais pas ou mettre dans le fichier joint, où comment le séparer pour y arriver
    bon je l'ai mis dans un module et je regarderai d'un peu plus près demain dans l’après midi

    Pascal

  4. #4
    Invité
    Invité(e)
    Par défaut
    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
    Sub test()
    'Serveur SMTP,Idetifian=true, SSl=true,,User,paswprd, port, delay=10...
    MailEnvoi "smtp.googlemail.com", True, True, "User@gmail.com", "PassWord", 465, 10, "Expediteur@gmail.com", "Dest@gmail.com", "DestEnCopy@gmail.com", "DestEnCaht@gmail.com", "Sujet", "messaage", "c:\test\test.xls;c:\test\test2.xls"
    End Sub
     
    Public Function MailEnvoi(Serveur, Identify, SSL, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, DestEnCah, Objet, Body, Pj)
    On Error Resume Next
    MailEnvoi = True
    Dim Log
    Dim I
    ' sub pour envoyer les mails
    Dim msg
    Dim Conf
    Dim Config
    Dim ess
    Dim splitPj
    Dim IsplitPj
    Dim schema
    Const cdoBasic = 1
     
    Set msg = CreateObject("CDO.Message") 'pour la configuration du message
    Set Conf = CreateObject("CDO.Configuration") '  pour la configuration de l'envoi
    Dim strHTML
     
    Set Config = Conf.Fields
     
    ' Configuration des parametres d'envoi
    '(SMTP - Identification - SSL - Password - Nom Utilisateur - Adresse messagerie)
    schema = "http://schemas.microsoft.com/cdo/configuration/" 'smtpusessl
    With Config
     
    If Identify <> 0 Then
        .Item(schema & "smtpusessl") = SSL
        .Item(schema & "smtpusetls") = 1
        .Item(schema & "smtpauthenticate") = Identify
        .Item(schema & "sendusername") = User
        .Item(schema & "sendpassword") = PassWord
    End If
        .Item(schema & "smtpserverport") = Port
        .Item(schema & "sendusing") = 2
        .Item(schema & "smtpserver") = Serveur
        .Item(schema & "smtpconnectiontimeout") = Delay
        .Item(schema & "enablessl") = 1
     
        .Update
    End With
    'Configuration du message
    'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1
     
    With msg
        Set .Configuration = Conf
     
        .To = Dest
        .cc = DestEnCopy
        .bcc = Expediteur & DestEnCah
        .FROM = Expediteur
        .Subject = Objet
    '   .DSNOptions = cdoDSN
    '
     
        .htmlbody = Replace(Replace(Body, Chr(13), "", 1, -1), Chr(10), "<br>", 1, -1) '"<p align=""center""><font face=""Verdana"" size=""1"" color=""#9224FF""><b><br><font face=""Comic Sans MS"" size=""5"" color=""#FF0000""></b><i>" & body & "</i></font> " 'E_mail.ZThtml.Text
                If Pj <> "" Then
            splitPj = Split(Pj & ";", ";")
     
            For IsplitPj = 0 To UBound(splitPj)
                If Trim("" & splitPj(IsplitPj)) <> "" Then
                    .AddAttachment Trim("" & splitPj(IsplitPj))
                    If Err <> 0 Then
                        MailEnvoi = False
                        Exit Function
                    End If
                End If
            Next
     
        End If
     
        .Send 'envoi du message
        If Err <> 0 Then
               MailEnvoi = False
        Else
               MailEnvoi = True
        End If
     
    On Error GoTo 0
    End With
     
    Set msg = Nothing
    Set Conf = Nothing
    Set Config = Nothing
     
    End Function
    palace un ; de séparation entre lest fichets
    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
    Sub EnvoiMail_CDO()
    serveur = Sheets("acceuil").Range("D2").Value
    Dim iMsg As Object, iConf As Object, Flds As Object
    Set iMsg = CreateObject("cdo.message")
    Set iConf = CreateObject("cdo.configuration")
    
    Set Flds = iConf.Fields
    With Flds
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = serveur
    .Update
    End With
    
    With iMsg
    Set .Configuration = iConf
    .BodyPart.Charset = "utf-8"
    .To = form_email.destinataire.Value
    .CC = form_email.CC.Value
    If form_email.CCI.Value = "" Then
    .BCC = "popeye@epinard.fr" ' changer popeye avec votre adresse
    Else:
    .BCC = form_email.CCI.Value & ";" & "popeye@epinard.fr" ' changer popeye avec votre adresse
    End If
    .From = form_email.Emetteur
    .Subject = form_email.titre
    .HTMLBody = paragraphe
    If form_email.piece_jointe <> "" Then
            splitPj = Split(form_email.piece_jointe & ";", ";")
            For IsplitPj = 0 To UBound(splitPj)
                If Trim("" & splitPj(IsplitPj)) <> "" Then .AddAttachment Trim("" & splitPj(IsplitPj))
            Next
    End If
    .Send
    End With
    If form_email.piece_jointe <> "" Then
    fichier = form_email.piece_jointe.Value
    'Kill fichier
    form_email.piece_jointe = ""
    End If
    End Sub
    Dernière modification par AlainTech ; 28/06/2014 à 09h39. Motif: Fusion de 2 messages

  5. #5
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour rdurupt

    merci du code mais il fait exactement comme avant l'ajout d'une seconde pièces écrase la 1ère, même en ayant mis un ";" derrière la 1ére

    bonne journée

    Pascal

  6. #6
    Invité
    Invité(e)
    Par défaut Bojour,
    j'ai apporté quelques modification DéZip tout le répertoire sur ton disque dur!
    Fichiers attachés Fichiers attachés
    Dernière modification par AlainTech ; 28/06/2014 à 09h40. Motif: Suppression de la citation inutile

  7. #7
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour rdurupt

    comment puis remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    Me.WebBrowser1.Navigate (ActiveWorkbook.Path & "\WisiWig\index.html")
    End Sub
    pour que je mette WisiWig sur c: et voir ce que tu a fait

    car tel que c'est sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\users\utilisateur\AppData\Local\temp\wz7b38\mailer
    que ç’a cherche et bug

    Pascal

  8. #8
    Invité
    Invité(e)
    Par défaut
    Il faut deziper tout le répertoir maileur sur ton disque dur

  9. #9
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour rdurupt

    merci pour ce fichier a base de webbrother mais bug a l'envoi d'un mail peut etre du au panneau qui s'ouvre et qui est le même que sur l’aperçu joint
    bug a la première ligne de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub envoyer_Click()
     
     Me.WebBrowser1.document.Script.execScript "OnClikDetail();"
     corp_du_message = Me.WebBrowser1.document.getElementById("input").Value
     Me.WebBrowser1.document.Script.execScript "OnClikDetail();"
    End Sub
    voici l'apercu
    Pièce jointe 148633

    autrement comment fonctionne une webbrother

    Pascal

  10. #10
    Invité
    Invité(e)
    Par défaut Bonjour,
    vue que pour l'instant ton problème est lier aux pièces jointes on regardera ça plus tard si l'option t'intéresse!
    Fichiers attachés Fichiers attachés

  11. #11
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonsoir Rdurupt

    Merci beaucoup pour ce fichier modifier comme il faut , il envoi plusieurs pièces jointes,je me suis envoyé un mail pour le savoir

    mais pourquoi avoir supprimer le bouton devis et de toutes façon le bouton facture ne mets pas la pièce dans la listbox
    est ce que le bouton " autres emplacements " sera a supprimer au vu de ce que tu a fait

    Pascal

  12. #12
    Invité
    Invité(e)
    Par défaut
    J'ai n'ai rien voulu supprimer une fauce manip je ne voie que ça je regarde

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Fichiers attachés Fichiers attachés

  14. #14
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonsoir rdurupt

    merci pour cette version a laquelle je ne comprends pas le fonctionnement du bouton zipper qui va chercher sur le pc quelque chose mais est-ce un fichier a zipper pour joindre après ??
    et pourquoi il y 2 boutons dont 1 pour supprimer pièces jointes et un autre pour la retirer
    le module zipeurRD est vide de code

    j'aime bien ta version a base de webrother et je n'ai plus le panneau d'avertissement

    Pascal

  15. #15
    Invité
    Invité(e)
    Par défaut Bonjour,
    dans la version originale, il y avait le bouton [supprimer pièces jointes ] qui supprimait physiquement la pièce jointe du disque dur! je n'ai pas compris l’intérêt mai bon je l'ai gardé et adapté à la notion de liste.
    vue que maintenant nous avons une liste pour les pièces jointes [Retirer pièce jointe] permet de supprimer de la liste un fichier en le sélectionnant au préalable dans la liste. ce bouton n'a pas la même fonction que [supprimer pièces jointes ].
    [Zipper les pièces jointes] permet de zipper toutes le pièces jointes dans un fichier Zip. la fonction zipper ne vas rien chercher mais te propose de saisire le nom du fichier ZIP.
    le module zipeurRD fait parie d'une collection de bibliothèque de fonction dont je dispose je l'ai importé dans le projet vb puis copié son contenu dans le module de classe EFFET_waow_bouton qui l'utilise, en effet j’aurai due le supprimer.

    en ce qui concerne le WisiWig faisons déjà fonctionner en l'état on y reviendra.
    Fichiers attachés Fichiers attachés
    Dernière modification par AlainTech ; 28/06/2014 à 09h42. Motif: Suppression de la citation inutile

  16. #16
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour rdurupt

    merci pour cette version avec laquelle je ne reçois pas de récépisser, je ne sais pas où est envoyer le mail mais il n'arrive pas a destination

    Pascal

  17. #17
    Invité
    Invité(e)
    Par défaut
    je ne comprend pas???
    sauf pour la gestion des pièces jointe je n'est rien changé!
    Images attachées Images attachées  

  18. #18
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour rdurupt
    j'ai pas vu ta réponse avant de partir, et du coup j'ai retélécharger ton exemple et fait un essai parfait, le mail envoyer m'a bien été envoyer de suite et chose bizarre l'autre mail que j'ai envoyer a midi m'est arrivé vers 14h, c'est pour cela que je t'ai répondu comme cela
    en fait ton fichier fonctionne bien

    cela fonctionne bien maintenant ,pas de bug rien du tout

    Merci a toi
    mis en résolu par modérateur
    Pascal

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonsoir

    je vois que mon maileur a fait du chemin, sachez tout de meme qu'il y a eu plusieures versions qui en ont découlé certaines d'entre elles gerent le multi pieces jointes

    soyez patient ces jours ci une newversion arrive avec encore plus de surprise

    mais je dois reconnaitre que cette version est utilisée dans mon app pro

    soyez patients je réserve des surprises

    merci de faire vivre mon fichier
    bonne utilisation
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Envoyer plusieurs pièces jointes dans un mail
    Par totor92290 dans le forum IHM
    Réponses: 16
    Dernier message: 02/03/2016, 15h19
  2. envoyer plusieurs pièces jointes de 300ko maxi
    Par choupinou22 dans le forum Langage
    Réponses: 5
    Dernier message: 16/05/2015, 23h02
  3. envoyer plusieurs pièces jointes.
    Par assmail dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 06/10/2010, 13h46
  4. envoyer plusieurs pièces jointes
    Par stagolee dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/02/2008, 17h52
  5. [Mail] envoyer plusieurs pièces jointes à la fois
    Par hanafimohammed dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2007, 22h43

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