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 :

Problème pièce jointe VBA Lotus vers autre boite mail


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Par défaut Problème pièce jointe VBA Lotus vers autre boite mail
    Bonjour à tous et à toutes !

    Je viens demander de l'aide sur ce forum, après plusieurs heures à chercher une solution à mon problème >.>

    Pour commencer je vais expliquer ce que je cherche à faire.

    Mon but est d'envoyer automatiquement des mails à X personnes. A ces mails, j'attaches un message ( un body donc ), ainsi que 4 pièces jointes.
    Mon code fonctionne à merveille pour les mails Lotus. J'entends par la que si j'utilise mon code avec des adresses mails destinataires qui utilise Lotus, mon message apparait, ainsi que mes 4 pièces jointes.

    Hors, si je reçois le mail sur mon adresse gmail par exemple, plus aucune trace des pièces jointes

    J'espère que quelqu'un aura une idée, ou un lien à partager, car même après plusieurs heures de recherches, rien n'y fais...

    ---------------------------------------------------------------------------------------------------------------------


    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
    Public Sub MailLotus(nomFichier As String, nomDestinataire As String, MailDestinataire As String, numeroLigne As Long)
     
    On Error GoTo Gerreur
     
    'Dim session As Domino.NotesSession
    Dim Session As Object
    Dim db As Object
    Dim doc As Object
    Dim AttachME As Object
    Dim EmbedObj As Object
    Dim attachment() As String
    Dim mailCopy() As String
    Dim i As Integer
    Dim fichierJoint As String
    Dim txt As String
    Dim stream As Object
    Dim body As Object
    Dim j As Integer
    Dim saveNomFichier
    Dim mailOK As Boolean
     
     
    mailOK = InStr(1, MailDestinataire, "@")
     
    If mailOK = False Then
        GoTo Gerreur
    Else
        mailOK = InStr(1, MailDestinataire, ".")
        If mailOK = False Then
            GoTo Gerreur
        End If
    End If
     
     
     
    'On sauvegarde le nom du fichier pour le réutiliser plus tard ( quand il y a plusieurs destinataires )
    saveNomFichier = nomFichier
     
    'On sépare les différentes adresses mail lié à un fournisseur et on le range dans un tableau
    If MailDestinataire <> "" Then
        mailCopy = Split(MailDestinataire, ";")
    End If
     
    For j = 0 To UBound(mailCopy)
    nbMail = nbMail + 1
    'Texte français
        txt = ""
     
    'Texte allemand
     
    'Effacé ici pour confidentialité 
    'Texte anglais
     'Effacé ici pour confidentialité 
    'Autres lignes
    'Effacé ici pour confidentialité 
    'Signature
     
     
    'On se connecte à Lotus et on créer le mail
        Set Session = CreateObject("notes.notessession")
        Set db = Session.GETDATABASE("", "")
        Call db.openmail
        Session.ConvertMIME = False
        Set doc = db.createdocument
     
     
     
     
        With doc
            .form = "Memo"
            .SendTo = mailCopy(j)
            .Subject = "Calendrier de chargement"
       ' .BodyFormat =
       ' .HTMLBody =
            .From = Session.COMMONUSERNAME
            .PostedDate = Now
            .SaveMessageOnSend = False
        '.BlindCopyTo =
     
        End With
     
        Set stream = Session.CreateStream
        Call stream.WriteText(txt)
        Set body = doc.CreateMIMEEntity
        Call body.SetContentFromText(stream, "text/html;charset=iso-8859-1", ENC_IDENTITY_8BIT)
     
        'On attache ici tous les fichiers dans le mail
        If nomFichier <> "" Then
            attachment = Split(nomFichier, ";")
            For i = 0 To UBound(attachment)
                Set AttachME = doc.CREATERICHTEXTITEM("Attachment" & i)
                Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", attachment(i), "Attachment" & i)
                doc.CREATERICHTEXTITEM (attachment(i))
                Set AttachME = Nothing
                Set EmbedObj = Nothing
            Next i
        End If
     
        doc.PostedDate = Now()
        doc.Send 0, mailCopy(j)
        nomFichier = saveNomFichier
        Set doc = Nothing
        Set body = Nothing
        Set stream = Nothing
        Set Session = Nothing
     
    Next j
     
     
     
    Exit Sub
     
    Gerreur:
    Sheets("Base de données").Range("C" & numeroLigne).Value = " ERREUR "
    MsgBox Err.Number & " : " & Err.Description, vbCritical, "Erreur"
     
    End Sub
    ----------------------------------------------------------------------------------

    J'ai supprimé les informations confidentielles ( texte, nom, etc etc ) mais l'essentiel est la.
    Le code s'occupe aussi d'envoyer à différentes adresses mails si plusieurs mails sont renseigné pour un fichier propre.
    (Par exemple, je veux envoyer le fichier "Test.xlsx" à 4 personnes, la variable MailDestinataire sera découpé en 4 mails, séparé par des " ; " )


    Je reste à disposition pour plus d'informations !

    En espérant que vous arriverez à m'aider ♥

    Cordialement, un jeune apprenti o/

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Par défaut
    Petit up du sujet o/

    Après plusieurs essais, j'ai remarqué que mon problème venait du faire que je converti le mail en html, pour la mise en page etc...

    Cela veux donc dire que je ne peux pas mettre en forme mon texte si je veux que les pièces jointes sois bien envoyés sur d'autres plateforme mails ?.?

    Ca me parait un peu idiot mais bon...

    Si quelqu'un à une solution je suis preneur !

  3. #3
    Invité de passage
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Mai 2016
    Messages : 1
    Par défaut As-tu trouvé une réponse à ton problème ?
    Bonjour à tous,

    J' ai un problème similaire,

    Les pièces jointes sont reçues seulement par ceux qui utilisent lotus

    Pour un même mail peut-on utiliser à la fois ouvrir une session oSession = CreateObject("Notes.NotesSession") et utiliser Set stream = oSession.CreateStream et Call stream.WriteText(courrier) pour le corps du mail avec le contenu de (courrier) en HTML ?

    Si je shunte la partie (Stream) de ma macro alors tous le monde peut récupérer les pièces jointes (ceux qui utilisent orange / lotus /Outlook ...)

    Je cherche et je vous tiens au courant

    Merci pour vos réponses éventuelles

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Par défaut
    Salut Yann !

    Pour ma part je n'ai toujours pas trouvé de solution à ce problème :/

    Je fonctionne toujours sans html. Ce n'est pas si problématique dans mon cas, mais si quelqu'un trouve une solution, n'hésitez pas à la faire partager !

    Merci d'avance

Discussions similaires

  1. [XL-2013] Problème conversion Macro VBA 2003 vers Excel 2013
    Par jbaero dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/05/2018, 23h05
  2. problème Pièce Jointe et Mail 3.2
    Par Giantrick dans le forum Apple
    Réponses: 13
    Dernier message: 08/04/2016, 16h34
  3. [A-07]Envoi de plusiers pièces jointes avec Lotus Notes
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/12/2008, 11h47
  4. [E-03] Pièces jointes pour lotus
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/11/2008, 15h28
  5. Récupérer une pièce jointe avec Lotus Notes
    Par Marty000 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 19/11/2007, 14h31

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