Envoi du fichier Excel par mail

Bonjour,

Je cherche à envoyer un fichier excel (2010) par mail avec lotus notes 9.0.1.

Je suis parvenu à ouvrir le message, à y glisser le fichier, à inscrire les adresses des destintaires et le sujet de mon mail,

mais je ne parviens pas à mettre un commentaire dans le corps du message et à l'envoyer...

Voici la macro utilisée :

Sub Envoi_Mail()

'

'

ActiveWorkbook.SendMail _

Recipients:="Machin.Truc@idiot.com", "Bidule.Chose@stupido.fr, _

Subject:="MANIFEST"

body = "Bonne réception !"

SendMail = True

'

End Sub

Merci de ce que vous pourrez indiquer à un bidouilleur autodidacte et débutant...

Bonjour,

je n'utilise pas Lotus note, mais j'ai trouvé ceci sur le web, transmit par Roland_M, j'espère que cela pourra t'aider.

' --------- Envoi d'un mail avec Lotus Notes ---------- .
'Ajouter la référence Lotus Domino Objects (domobj.tlb) .
'Cocher Référence  [x]Lotus Domino Objects              .

Public Sub RoutineEnvoiMailLotus()
Application.ScreenUpdating = False
'------- compléter les variables nécessaires pour envoi --------------
AdresDestinataire$ = "??????" 'si plusieurs adresses séparer par le point virgule !
Sujet$ = "????????" ' sujet
Message$ = "??????" ' message
Fichier$ = "??????" ' "NomDuFichier.xls"
Chemin$ = "???????" ' chemin du fichier exp: = ThisWorkbook.Path
If Chemin$ > "" And Right(Chemin$, 1) <> "\" Then Chemin$ = Chemin$ & "\"
CheminEtFichier$ = Chemin$ & Fichier$

'------ départ envoi messagerie --------
'met en tableau si plusieurs adresses !?
If InStr(AdresDestinataire$, ";") = 0 Then AdresDestinataire$ = AdresDestinataire$ & ";"
Dim TabloAdresDestin As Variant
TabloAdresDestin = Split(AdresDestinataire$, ";")

'------ préparation session ------
On Error GoTo ErreurNET: Err.Clear

Dim oSession As Object     'CreateObject("Notes.NotesSession")
Dim UserName As String     'Nom d'utilisateur
Dim DataBase As Object     'Base des mails
Dim DataBaseName As String 'Nom de la base
Dim Document As Object     'Mail
Dim AttachME As Object     'Fich joint en RTF
Dim AttachF1 As Object     '1' pièce attachée

' Création de la session
Set oSession = CreateObject("Notes.NotesSession")
' Récupèration du nom d'utilisateur
UserName = oSession.UserName
DataBaseName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
' Ouvre la base des mails (si fermé, ouvre et demande le password)
Set DataBase = oSession.GetDataBase("", DataBaseName)
If Not DataBase.IsOpen Then DataBase.OpenMail

'       boucle envoi au(x) destinataire(s)
For I = LBound(TabloAdresDestin) To UBound(TabloAdresDestin)
 If Trim(TabloAdresDestin(I)) > "" Then
    AdresDestinataire$ = TabloAdresDestin(I)
    'crée le document et colle /AdresDestinataire /Sujet /Message
    Set Document = DataBase.CreateDocument
    Document.Form = "Memo"
    Document.Sendto = AdresDestinataire$
    Document.Subject = Sujet$
    Document.Body = Message$
    'Joint le Fichier s'il y a !?
    If CheminEtFichier$ <> "" Then
       Set AttachME = Document.CreateRichTextItem("Attachment")
       Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
    End If
    'Envoi le Mail
    Document.SaveMessageOnSend = True 'True = save dans les courriers envoyés
    Document.PostedDate = Now() ' date du jour
    Document.Send 0, AdresDestinataire$ 'envoi
    'reinit adresse suivante !?
    Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
 End If
Next
GoTo FinMail ' fin ########################################################

ErreurNET:
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
GoTo FinMail

FinMail:
'libère les variables Object
Set oSession = Nothing: Set DataBase = Nothing
Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
On Error GoTo 0: Err.Clear
Application.ScreenUpdating = True
End Sub

Merci,

Je vais tester çà !

je te tiens au courant.

Bonjour,

Malheureusement, ça ne fonctionne pas...

J'en suis toujours au même point :

Ouverture du mail : OK

Déplacement du fichier dans le mail : OK

Destinataires du mail : OK

Sujet du mail : OK

Message dans le corps du mail : NON

Envoi du mail : NON

Je ne maîtrise pas le langage... Je crée mes macros

en utilisant la souris, puis je fais d'éventuelles modifications

en adaptant d'après des exemples pêchés ici et là

dans d'autres macros...

[quote=sabV post_id=548545 time=1497616668 user_id=47027]

Bonjour,

J'utilise une version Excel 2010 et une version Lotus (IBM) Notes 9.0.1 ; et ça fonctionne très bien.

ça faisait quelques mois que je cherchais une solution. Et là, tout est OK.

Merci beaucoup

Pierre

Bonjour

J'utilise Excel 2016 & Lotus Notes 9 mais je n'arrive pas à faire fonctionner ce code également... J'aimerai juste envoyer mon fichier excel via Lotus Notes en cliquant sur un bouton.

Aurais-tu des infos à communiquer ??

Voici mon code.

Merci

' --------- Envoi d'un mail avec Lotus Notes ---------- .
'Ajouter la référence Lotus Domino Objects (domobj.tlb) .
'Cocher Référence  [x]Lotus Domino Objects              .

Public Sub RoutineEnvoiMailLotus()
Application.ScreenUpdating = False
'------- compléter les variables nécessaires pour envoi --------------
AdresDestinataire$ = "xxxxxxx@xxxxxx.com" 'si plusieurs adresses séparer par le point virgule !
Sujet$ = "Pointage Laquage" ' sujet
Message$ = "Bonjour, Ci-joint le pointage laquage" ' message
Fichier$ = "Pointage_" & [T1] & ".xlsm" ' "NomDuFichier.xls"
Chemin$ = "ThisWorkbook.Path" ' chemin du fichier exp: = ThisWorkbook.Path
If Chemin$ > "" And Right(Chemin$, 1) <> "\" Then Chemin$ = Chemin$ & "\"
CheminEtFichier$ = Chemin$ & Fichier$

'------ départ envoi messagerie --------
'met en tableau si plusieurs adresses !?
If InStr(AdresDestinataire$, ";") = 0 Then AdresDestinataire$ = AdresDestinataire$ & ";"
Dim TabloAdresDestin As Variant
TabloAdresDestin = Split(AdresDestinataire$, ";")

'------ préparation session ------
On Error GoTo ErreurNET: Err.Clear

Dim oSession As Object     'CreateObject("Notes.NotesSession")
Dim UserName As String     'Nom d'utilisateur
Dim DataBase As Object     'Base des mails
Dim DataBaseName As String 'Nom de la base
Dim Document As Object     'Mail
Dim AttachME As Object     'Fich joint en RTF
Dim AttachF1 As Object     '1' pièce attachée

' Création de la session
Set oSession = CreateObject("Notes.NotesSession")
' Récupèration du nom d'utilisateur
UserName = oSession.UserName
DataBaseName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
' Ouvre la base des mails (si fermé, ouvre et demande le password)
Set DataBase = oSession.GetDataBase("", DataBaseName)
If Not DataBase.IsOpen Then DataBase.OpenMail

'       boucle envoi au(x) destinataire(s)
For I = LBound(TabloAdresDestin) To UBound(TabloAdresDestin)
 If Trim(TabloAdresDestin(I)) > "" Then
    AdresDestinataire$ = TabloAdresDestin(I)
    'crée le document et colle /AdresDestinataire /Sujet /Message
    Set Document = DataBase.CreateDocument
    Document.Form = "Memo"
    Document.Sendto = AdresDestinataire$
    Document.Subject = Sujet$
    Document.Body = Message$
    'Joint le Fichier s'il y a !?
    If CheminEtFichier$ <> "" Then
       Set AttachME = Document.CreateRichTextItem("Attachment")
       Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
    End If
    'Envoi le Mail
    Document.SaveMessageOnSend = True 'True = save dans les courriers envoyés
    Document.PostedDate = Now() ' date du jour
    Document.send 0, AdresDestinataire$ 'envoi
    'reinit adresse suivante !?
    Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
 End If
Next
GoTo FinMail ' fin ########################################################

ErreurNET:
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
GoTo FinMail

FinMail:
'libère les variables Object
Set oSession = Nothing: Set DataBase = Nothing
Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
On Error GoTo 0: Err.Clear
Application.ScreenUpdating = True
End Sub

re,

avez-vous ajouter et cocher la référence: Lotus Domino Objects

C est à dire ? (Je suis novice dsl)

re,

par SylvainB: C est à dire ? (Je suis novice dsl)

sur la fenêtre vba, au menu, Outils, Références

chercher dans la liste: Lotus Domino Objects

si cette référence n'est pas présente, il faut la charger.

clic sur le bouton Parcourir, chercher le fichier domobj.tlb

clic ok

cocher dans la liste: Lotus Domino Objects

J'ai Bien coché Lotus Domino Objects, mais ça ne fonctionne toujours pas ...

J'ai le message d'erreur suivant :

capture

re,

l'erreur c'est qu'il ne trouve pas le fichier ThisWorkbook.Path\Pointage_1-1-2019.xlsm

exécute la macro en mode pas-à-pas (F8) et vérifie la valeur des variables sur ces lignes:

Fichier$ = "Pointage_" & [T1] & ".xlsm" ' "NomDuFichier.xls"
Chemin$ = ThisWorkbook.Path ' chemin du fichier exp: = ThisWorkbook.Path
If Chemin$ > "" And Right(Chemin$, 1) <> "\" Then Chemin$ = Chemin$ & "\"
CheminEtFichier$ = Chemin$ & Fichier$

Ok je regarde à ça ce soir. Merci beaucoup pour l'aide

il faut enlever les guillemet sur

Chemin$ = "ThisWorkbook.Path" ' chemin du fichier exp: = ThisWorkbook.Path

c'est plutot,

Chemin$ = ThisWorkbook.Path ' chemin du fichier exp: = ThisWorkbook.Path

Un grand merci ça fonctionne à merveille !!

Merci d'avoir perdu ton temps pour mon problème !

Bonne soirée

j 'suis bien contente que tout fonctionne,

merci pour ce retour et bonne continuation!

Rechercher des sujets similaires à "envoi fichier mail"