VBA cmt envoyer mail pour chaque feuille ?

Fermé
Jabba the Hutt Messages postés 32 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 2 août 2010 - 28 janv. 2010 à 12:35
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 - 29 janv. 2010 à 18:25
Bonjour tout le monde,

J'ai réussi à trouver le code suivant sur internet.

Il me permet d'envoyer mon classeur excel par mail à un destinataire chosi, cependant je ne trouve pas la variable à changer pour ne pas envoyer tout le classeur mais uniquement une feuille (en fait feuille après feuille).

A noter que pour appeler une feuille je fait référence à son nom de la mannière suivante : Sheets(MaCellule.Value).

A mon avis ça se joue par ici, mais je ne suis pas certain : Set object = rtitem.embedObject(1454, "", nom, "")
Merci pour votre aide !

Le code en question :

Sub UseLotus()

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

'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("FranceServer1/DCI/BME/Omnia Group")
Set db = dir.OpenMailDatabase

' Création d'un document
Set doc = db.CREATEDOCUMENT
'affectation du type mail
Call doc.APPENDITEMVALUE("Form", "Memo")
Call doc.APPENDITEMVALUE("Sendto", "exemple@gmail.com")
Call doc.APPENDITEMVALUE("subject", "exemple" & Format(Date, "dd/mmm/yy"))
doc.SAVEMESSAGEONSEND = saveit 'sauvegarde du mail à l envoi

Set rtitem = doc.createRichTextItem("Body")


Dim nom As String
nom = ThisWorkbook.FullName

'Attachement du classeur au mail
Set object = rtitem.embedObject(1454, "", nom, "")

Call doc.Send(True)
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
A voir également:

4 réponses

Jabba the Hutt Messages postés 32 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 2 août 2010
28 janv. 2010 à 15:29
up!
0
Jabba the Hutt Messages postés 32 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 2 août 2010
28 janv. 2010 à 16:56
:)
0
Jabba the Hutt Messages postés 32 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 2 août 2010
29 janv. 2010 à 10:10
Up
x)
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
29 janv. 2010 à 18:25
Re,
bon jconnais pas bien lotusnotes (beurk!), mais vu que tu sais envoyer un classeur complet (fichier joint embedObject) tu peux toujours utiliser un 'workaround' :
tu enregistres la feuille que tu veux envoyer ds un nouveau classeur en stockant le nom ds une variable, tu envoies ce classeur en piece jointe et après tu le supprimes....
0