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 :

Macro pour envoyer mail via lotus notes


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Macro pour envoyer mail via lotus notes
    Bonjour,

    J'ai lu cette discussion.
    J'arrive bien à envoyer le mail par Lotus grace a votre macro.
    Cependant, mon problème reste l'attachement.
    Il n'attache rien.
    Si j'ai bien compris, il faut qu'il y ai quelque chose dans les cellules pour qu'il attache quelque chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
    par contre il ne m'attache rien.
    Il me met qu'il trouve rien...
    que dois je mettre dans ces cellules? un lien vers l'onglet à envoyer? une adresse de cellule et si oui comment?
    Je voudrais envoyer un onglet complet ou alors une plage de cellule...
    Pouvez vous m'aider?

    Merci d'avance.

    Jimmy

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    regarde plutôt ici

    Bonne journée.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut envoyer juste un onglet, une feuille par Lotus Notes en attaché
    Bonjour,

    Je suis nouveau sur ce site et je ne connais pas encore bien le fonctionnement.

    J'arrive bien à envoyer le mail par Lotus grace a votre macro.
    Cependant, mon problème reste l'attachement.
    Il n'attache rien.
    Si j'ai bien compris, il faut qu'il y ai quelque chose dans les cellules pour qu'il attache quelque chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
    par contre il ne m'attache rien.
    Il me met qu'il trouve rien...
    que dois je mettre dans ces cellules? un lien vers l'onglet à envoyer? une adresse de cellule et si oui comment?
    Je voudrais envoyer un onglet complet ou alors une plage de cellule...
    Pouvez vous m'aider?

    Merci d'avance.

  4. #4
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    ça pourrait nous aider si tu ajoutais un code...

    Et pour l'onglet, vite comme ça, tu peux supprimer tous les onglets sauf celui que tu veux envoyer, ensuite enregistrer le fichier sous un autre nom (fichier temporaire) ensuite envoyer le fichier temporaire, si tu veux, tu peux ensuite supprimer le fichier temporaire.

    Il existe peut-être une façon d'envoyer seulement un onglet mais je ne la connais pas.

    Et pour la question de cellules, je ne comprends pas, et sans code, encore plus dur à comprendre!

    Alors on attend ton code et peut-être plus d'explications sur le quoi de la cellule (est-ce le nom du fichier?...?).

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Bonjour,

    Tu fais un code qui copie ton onglet dans un nouveau fichier, tu attaches ce fichier puis tu le delete.

    Beaucoup d'info sur cette macro ici:

    http://www.developpez.net/forums/d63...ia-lotusnotes/

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Le code
    Voici que le code que j'ai, mais je n'ai pas le code pour copier l'onglet vers un nouveau fichier envoyer le nouveau fichier et supprimer le nouveau fichier...


    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
    Private Sub envoiparmail()
     
        Dim Session As Object
        Dim db As Object
        Dim doc As Object
        Dim rtitem As Object
        Dim object As Object
        Dim fs As Object
        Dim Principaux(2) As String
        Dim Copies(3) As String
        Dim dir As Object
        Dim inti As Integer
        Dim passwd As String
     
        On Error GoTo TraiteErreur
     
          ' Imprimer
        ActiveSheet.PrintOut
     
     
        'Demande le password Lotus(Dans le cas ou la session necessite un passwd)
        passwd = InputBox("Entrer votre password Lotus:", "Password")
     
        ' Création de la session Notes
        Set Session = CreateObject("Lotus.NOTESSESSION")
     
        'Ouverture d'une session NOTES
        Call Session.Initialize(passwd) 'si pas de passwd pas de parametre pour initialize
        Set dir = Session.GETDBDIRECTORY("XXXX")
        Set db = dir.OpenMailDatabase
     
        ' Création d'un document
        Set doc = db.CreateDocument
     
        ' Création du texte
        Set rtitem = doc.CreateRichTextItem("Body")
        Call rtitem.AppendText("Bonjour,")
        Call rtitem.ADDNEWLINE(3)
        Call rtitem.AppendText("Vous trouverez ci-joint,")
        Call rtitem.ADDNEWLINE(1)
        Call rtitem.AppendText("une demande d'avoir ou une demande de facture supplémentaire.")
        Call rtitem.ADDNEWLINE(3)
        Call rtitem.AppendText("Sincères salutations.")
        Call rtitem.ADDNEWLINE(2)
        Call rtitem.AppendText("XXXXXX.")
        Call rtitem.ADDNEWLINE(2)
        Call rtitem.AppendText("____________________________________________________________________.")
        Call rtitem.ADDNEWLINE(2)
        Call rtitem.AppendText("Ce message est généré automatiquement.")
        Call rtitem.ADDNEWLINE(4)
        Call rtitem.AppendText("Le fichier joint :                .")
     
     
        'affectation du type mail
        Call doc.APPENDITEMVALUE("Form", "Memo")
        Call doc.APPENDITEMVALUE("SendTo", "")
        Call doc.APPENDITEMVALUE("CopyTo", "")
        Call doc.APPENDITEMVALUE("BlindcopyTo", "XXX@XXXX.com")
        Call doc.APPENDITEMVALUE("subject", "Demande d'avoir XXXXXXXX")
        'sauvegarde du mail à l envoi
        doc.SaveMessageOnSend = True
     
     
        Dim nom As String
        nom = ThisWorkbook.FullName
        'Attachement du classeur au mail
        Set object = rtitem.embedObject(1454, "", nom, "")
     
        Call doc.Send(False)
        Set object = Nothing
        Set rtitem = Nothing
        Set doc = Nothing
        Set db = Nothing
        Set Session = Nothing
        Exit Sub
    TraiteErreur:
        MsgBox "Erreur Critique durant l envoi .", vbCritical, "Error"
        Set object = Nothing
        Set rtitem = Nothing
        Set doc = Nothing
        Set db = Nothing
        Set Session = Nothing
        Set fs = Nothing
    End Sub

  7. #7
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut alex830001,
    content de voir que mon code est utile.

    jimmy0123 pense à ce que je t'ai demandé: reformattage du code.
    ce n'est pas optionnel.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Oui cette macro fonctionne à merveille

    jimmy0123 tu as un exemple complet IcI qui envoi un onglet en particulier de ton fichier au mail d'un destinataire ecrit dans une cellule (tu peux meme en mettre plusieurs en séparant par un virgule, la fonction split les réorganises en tableau dans la macro.

  9. #9
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Citation Envoyé par alex830001 Voir le message
    Oui cette macro fonctionne à merveille

    jimmy0123 tu as un exemple complet IcI qui envoi un onglet en particulier de ton fichier au mail d'un destinataire ecrit dans une cellule (tu peux meme en mettre plusieurs en séparant par un virgule, la fonction split les réorganises en tableau dans la macro.
    Alex, je n'ai pas l'impression que ce code fonctionne car je ne trouve nulle part l'endroit où on sélectionne le fameux onglet.
    Mais j'ai peut-être mal regardé.


    Jimmy tu vas te faire disputer par les modérateurs si tu fais des doubles post sur le même sujet (ici). C'est pas trop le genre de la maison.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Alex, je n'ai pas l'impression que ce code fonctionne car je ne trouve nulle part l'endroit où on sélectionne le fameux onglet.
    Mais j'ai peut-être mal regardé.
    J'espere bien qu'il fonctionne j'envoi des fichiers tous les jours aux filiales avec cette macro


    C'est à cet endroit, on attache l'onglet Feuil1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sheets("Feuil1").Copy
    ChDir "C:\TEMP"
    nomfichier = "C:\TEMP\" & "test " & ".xls"
    nomfichier2 = "test " & ".xls"
    ActiveWorkbook.SaveAs Filename:= _
    nomfichier, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
     
    Attachment = Workbooks(nomfichier2).FullName
    puis à la fin il est delete comme ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Workbooks(nomfichier2).Close
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(nomfichier)
    f.Delete

  11. #11
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Tu as raison, cela fonctionne. Je m'étais laissé induire en erreur par la description qui parlait de sauver uniquement la feuill2, ce qui n'est pas fait.
    C'est de la feuill1 qu'il s'agit.

    J'ignorais qu'on pouvait sauver une seule feuille simplement en faisant .copy.
    On en apprend tous les jours.

    Pour ton info, la méthode SaveCopyas peut également faire l'affaire.
    Elle a l'avantage de ne pas changer le nom du classeur actif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWorkbook.SaveCopyAs Filename:=nomfichier
    Bon week-edn.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  12. #12
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut merci
    Merci, ca fonctionne avec ton code. je n'ai pas réutilisé le mien car j'ai essayé de juste mettre ce que tu dis dans le mien mais ca fonctionne pas.
    Par contre,
    comment fait on pour sauvegarder le mail à l'envoi avec ton code?
    Comment fait on pour envoyer à des gens en blind et en CC?
    Et comment fait on pour sauver le document sur la date du jour par exemple?

    un grand merci.

    Bien à toi.

  13. #13
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut Jimmy :
    comment fait on pour sauvegarder le mail à l'envoi avec ton code?
    Comment fait on pour envoyer à des gens en blind et en CC?
    La réponse ici ou ci-dessous
    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
    'Envoi d'un mail avec Lotus Notes
    'Subject : sujet du mail
    'Attachment : nom d'une pièce jointe
    'Recipient : adresse e-mail du destinataire principal
    'ccRecipient : destinataire en copie
    'bccRecipient : destinataire en copie invisible
    'BodyText : corps du mail
    'SaveIt : mettre à True pour que le mail soit sauvegardé
    'Password : mot de passe
     
    Public Sub SendNotesMail(ByVal Subject As String, ByVal Attachment As String, _
                             ByVal Recipient As String, ByVal ccRecipient As String, _
                             ByVal bccRecipient As String, ByVal BodyText As String, _
                             ByVal SaveIt As Boolean, ByVal Password As String)
                             
        Dim Maildb As Object      'La base des mails
        Dim UserName As String    'Le nom d'utilisateur
        Dim MailDbName As String  'Le nom de la base des mails
        Dim MailDoc As Object     'Le mail
        Dim AttachME As Object    'L'objet pièce jointe en RTF
        Dim Session As Object     'La session Notes
        Dim EmbedObj As Object    'L'objet incorporé
       
        'Crée une session notes
        Set Session = CreateObject("Notes.NotesSession")
       
        '*** Cette ligne est réservée aux versions 5.x et supérieur : ***
        Session.Initialize (Password)
       
        'Récupère le nom d'utilisateur et crée le nom de la base des mails
        UserName = Session.UserName
        MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
       
        'Ouvre la base des mails
        Set Maildb = Session.GETDATABASE("", MailDbName)
        If Not Maildb.ISOPEN Then Maildb.OPENMAIL
           
        'Paramètre le mail à envoyer
        Set MailDoc = Maildb.CREATEDOCUMENT
        MailDoc.Form = "Memo"
        MailDoc.sendto = Recipient
        MailDoc.CopyTo = ccRecipient
        MailDoc.BlindCopyTo = bccRecipient
        MailDoc.Subject = Subject
        MailDoc.Body = BodyText
        MailDoc.SAVEMESSAGEONSEND = SaveIt
       
        'Prend en compte les pièces jointes
        If Attachment <> "" Then
            Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
        End If
       
        'Envoie le mail
        MailDoc.PostedDate = Now()
        MailDoc.SEND 0, Recipient
       
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
    End Sub
    Pour ce qui suit, je ne comprends pas la question : merci de préciser ce que tu veux exactement. Tu parles de l'onglet que tu veux sauvegarder ? Donnes-moi la format du nom de fichier que tu voudrais (attention aux caractères interdits dans un nom de fichier).
    Et comment fait on pour sauver le document sur la date du jour par exemple?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par jimmy0123 Voir le message
    Et comment fait on pour sauver le document sur la date du jour par exemple?

    un grand merci.

    Bien à toi.
    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
     
    dim j as string 
    j= date()
    j= replace(j,/,.) ' ici je suis pas sur de la syntaxe je fais ça pour virer les / car interdit dans un nom de fichier
     
     
     
    Sheets("Feuil1").Copy
    ChDir "C:\TEMP"
    nomfichier = "C:\TEMP\" & j & ".xls"
    nomfichier2 = j & ".xls"
    ActiveWorkbook.SaveAs Filename:= _
    nomfichier, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
     
    Attachment = Workbooks(nomfichier2).FullName
    Voila

  15. #15
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut salut
    salut,

    Merci pour ta réponse, mais, ici tu me donnes la réponse par rapport au premier code que j'avais employé et dedans effectivement, il y avait déjà les réponses du CC, Blind Copy et aussi du sauvegarder le mail.
    Mais j'ai utilisé le code de notre ami alex830001 car avec le code de base, je n'y suis pas arrivé, tandis qu'avec le sien oui.

    Mais avec le sien, je ne sais pas comment faire pour faire cela.

    Il met :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     dest = Sheets("Feuil1").Cells(1, 1).Value 
    'Les adresses mail des correspondants sont entré�� cellule A1 de la Feuil1 sép�é p� u� v�ule.


    J'arrive à faire cela. Mais je voudrais rajouter à son code, les CC, Blind Copy et sauvegarde du mail à l'envoi....

    Et pour la sauvegarde du fichier, a chaque fois il te demande si tu veux écraser. Ce serait plus facile si il sauvait sur un nom de fichier différent comme par exemple par date :

    "081101nouveaufichier"


    Pour rappel voici le code d'alex830001 qui fonctionne assez bien.. ( a part à la fin de son code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Delete[/quote][[/quot[]
    ca fonctionne pas...)

    avec l'autre je suis arrivé à envoyer le classeur mais pas la feuille


    Le code d'alex :

    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
     Sub SendNotesMail()
     
    'Macro d'envoi automatique d'un onglet via Lotus Note:
     
    Dim Retour As Integer
     
    Retour = MsgBox("Vous allez transmettre l'onglet par mail. Assurez vous d'avoir Lotus Note ouvert. Voulez vous continuez?", vbYesNo + vbQuestion + vbDefaultButton2, "question")
     
    If Retour = vbNo Then
    Exit Sub
     
    Else
     
     
     
    On Error Resume Next
     
     
    Dim Maildb As Object 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDbName As String 'THe current users notes mail database name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim Session As Object 'The notes session
    Dim EmbedObj As Object 'The embedded object (Attachment)
    Dim j As String
    Dim dest As String
    Dim monTab() As String
    Dim nomfichier As String, nomfichier2 As String
     
     
     
     
    '''''''''''''''''''''''''''''''''''''Envoi de l'onglet "Feuil2"
     
     
    dest = Sheets("Feuil1").Cells(1, 1).Value 
    'Les adresses mail des correspondants sont entré�� cellule A1 de la Feuil1 sép�é p� u� v�ule.
     
     
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    'Open the mail database in notes
    Set Maildb = Session.GetDatabase("", MailDbName)
    If Maildb.IsOpen = True Then
    'Already open for mail
    Else
     
    Maildb.OPENMAIL
     
     
    'Ici on transforme la variable dest de type string contenant les adresses en tableau via la fonction split
     
    monTab = Split(dest, ",")
     
    Dim ccRecipent As String
     
    'Set up the new mail document
    Set MailDoc = Maildb.CreateDocument
    MailDoc.Form = "Memo"
     
    MailDoc.Subject = "Titre du mail ici "
     
     
    MailDoc.Body = "Bonjour," & vbCrLf & vbCrLf & "Veuillez trouver ci joint le contenu de l'onglet Feuil2" & vbCrLf & vbCrLf & vbCrLf & vbCrLf & " Cdt ," & vbCrLf & vbCrLf & "Signature ici par exemple"
     
    MailDoc.SAVEMESSAGEONSEND = SaveIt
     
    Sheets("Feuil1").Copy
    ChDir "C:\TEMP"
    nomfichier = "C:\TEMP\" & "test " & ".xls"
    nomfichier2 = "test " & ".xls"
    ActiveWorkbook.SaveAs Filename:= _
    nomfichier, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
     
    Attachment = Workbooks(nomfichier2).FullName
    If Attachment <> "" Then
    Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
    Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
    MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
     
     
     
    'Send the document
    MailDoc.PostedDate = Now()
    MailDoc.Send 0, monTab()
     
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
     
    End If
     
    'Supression du fichier contenant le contenu de l'onglet "Feuil2"
     
    Workbooks(nomfichier2).Close
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(nomfichier)
    f.Delete[/quote][[/quot[]

  16. #16
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Re,
    peux-tu me donner ton code complet dans son état actuel .
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  17. #17
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut voici le code complet
    Voici le code complet,
    il me manque donc de pouvoir faire des CC et Blind Copy
    et aussi d'avoir le message dans mes send.
    et de pouvoir mettre la date du jour sur le fichier sauvé.

    bien à toi.

    Un grand merci.

    jim

    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
    Sub SendNotesMail()
     
    'Macro d'envoi automatique d'un onglet via Lotus Note:
     
    Dim Retour As Integer
     
    Retour = MsgBox("Vous allez transmettre l'onglet par mail. Assurez vous d'avoir Lotus Notes ouvert. Voulez vous continuez?", vbYesNo + vbQuestion + vbDefaultButton2, "ATTENTION")
     
    If Retour = vbNo Then
    Exit Sub
     
    Else
     
     
     
    On Error Resume Next
     
     
    Dim Maildb As Object 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDbName As String 'THe current users notes mail database name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim Session As Object 'The notes session
    Dim EmbedObj As Object 'The embedded object (Attachment)
    Dim j As String
    Dim dest As String
    Dim monTab() As String
    Dim nomfichier As String, nomfichier2 As String
     
     
     
     
    '''''''''''''''''''''''''''''''''''''Envoi de l'onglet "Feuil2"
     
     
    dest = Sheets("Feuil1").Cells(1, 1).Value
    'Les adresses mail des correspondants sont entré?? cellule A1 de la Feuil1 sép?é p? u? v?ule.
     
     
     
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    'Open the mail database in notes
    Set Maildb = Session.GetDatabase("", MailDbName)
    If Maildb.IsOpen = True Then
    'Already open for mail
    Else
     
    Maildb.OPENMAIL
     
     
    'Ici on transforme la variable dest de type string contenant les adresses en tableau via la fonction split
     
    monTab = Split(dest, ",")
     
    Dim ccRecipent As String
     
    'Set up the new mail document
    Set MailDoc = Maildb.CreateDocument
    MailDoc.Form = "Memo"
     
    MailDoc.Subject = "Demande d'avoir aux usines "
     
     
    MailDoc.Body = "Bonjour," & vbCrLf & vbCrLf & vbCrLf & "Veuillez trouver ci-joint," & vbCrLf & vbCrLf & " Les dates courtes de ce jour." & vbCrLf & vbCrLf & vbCrLf & vbCrLf & " Cordialement ,"  & vbCrLf & vbCrLf & "Ce message est généré automatiquement."
     
    MailDoc.SaveMessageOnSend = SaveIt
     
    Sheets("Feuil1").Copy
    ChDir "U:\Logistique\Testttt"
    nomfichier = "U:\Logistique\Testttt\" & "test " & ".xls"
    nomfichier2 = "test " & ".xls"
    ActiveWorkbook.SaveAs Filename:= _
    nomfichier, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
     
    Attachment = Workbooks(nomfichier2).FullName
    If Attachment <> "" Then
    Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
    Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
    MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
     
     
     
    'Send the document
    MailDoc.PostedDate = Now()
    MailDoc.Send 0, monTab()
     
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
     
    End If
     
    'Supression du fichier contenant le contenu de l'onglet "Feuil2"
     
    Workbooks(nomfichier2).Close
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(nomfichier)
     
    End If
     
    End Sub

  18. #18
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Pour le CC, assez simple : .CopyTo = "MailCopy"
    Pour sauver le messange : .SaveMessageOnSend = True

    Pour ce qui est du cahcé, je ne peux pas te répondre.

    Et le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    nomfichier2 = Format(Date) & "test " & ".xls"
    nomfichier = "U:\Logistique\Testttt\" & nomfichier2
    ActiveWorkbook.SaveAs Filename:= _
    nomfichier, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False

    Bonne journée.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    il manque le f.delete à la fin de ton code et je t'ai répondu pour ce qui est de nommer le fichier avec la date du jour.

    Au lieu de le nommer "test", tu prends une variable string dans laquelle tu met la date avec la fonction date:

    variable = date()

    ensuite tu change les / par des . (sinon tu peux pas enregistrer le fichier avec des /)

    Bref Cf réponse d'avant.

    Pour ce qui est des Cc je ne l'ai pas fait, ms juste en déclaquant ta macro initiale qui le fait avec celle çi ça doit etre possible.

  20. #20
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Pour le BCC (BlindCopy) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .BlindCopyTo = bccRecipient
    ou bccRecipient est soit un string, soit une table avec des string (1 nom par entrée )
    ce principe de string ou table de string est identique pour .copyto et .Sendto

    Pour le Delete, tu peux utiliser la méthode Kill :
    Pour les autres questions, d'autres ont déjà répondu.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

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

Discussions similaires

  1. [Sources] Comment envoyer un e-mail via Lotus Notes ?
    Par Heydrickx dans le forum Contribuez
    Réponses: 0
    Dernier message: 16/12/2012, 12h03
  2. Envoyer mails via LOTUS NOTES
    Par Dragan dans le forum SharePoint
    Réponses: 1
    Dernier message: 11/08/2009, 16h20
  3. Macro pour envoyer mail via lotus notes
    Par Debutante-Excel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2008, 09h37
  4. Envoi de mail via lotus notes
    Par titof90 dans le forum VBA Access
    Réponses: 13
    Dernier message: 26/06/2007, 13h28

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