OVH Cloud OVH Cloud

VBA: forcer la réplication sous Lotus!

2 réponses
Avatar
kyvu
Bonjour,

Sur un classeur =E0 remplir quotidiennement, j'ai une macro=20
qui enregistre des donn=E9es de production et qui envoie =E0=20
un autre service une sorte de synth=E8se via Lotus Note.

Seulement, chez nous, Lotus est param=E8tr=E9 pour =E9changer le=20
courrier qu'=E0 des heures pr=E9cises... ou il faut lancer le=20
r=E9plicateur en manuel pour envoyer ou recevoir le courrier=20
de suite.

Voil=E0: est-il possible de forcer la r=E9plication en VBA?

Merci d'avance.

@micalement.



Kyvu On Line!

2 réponses

Avatar
Jean-François Aubert
Salut kyvu,
je n'ai malheureusement pas de réponse à ta problème,
mais j'ai une question :
qu'utilises-tu comme macro pour appeler Lotus Note ?

personnellement j'utilise une macro tirée de
http://perso.wanadoo.fr/frederic.sigonneau/Excel.htm
mais j'ai dû monstrueusement la bidouiller par d'horribles subterfuges
pour qu'elle soit utilisable même si une session Lotus n'est pas ouverte...
nous sommes sur Windows NT, est-ce une raison ? !
(il se peut que je n'ai pas su adapter la macro d'origine !!!)

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"kyvu" a écrit dans le message de news:5dc301c3424e$dd6238f0$
Bonjour,

Sur un classeur à remplir quotidiennement, j'ai une macro
qui enregistre des données de production et qui envoie à
un autre service une sorte de synthèse via Lotus Note.

Seulement, chez nous, Lotus est paramètré pour échanger le
courrier qu'à des heures précises... ou il faut lancer le
réplicateur en manuel pour envoyer ou recevoir le courrier
de suite.

Voilà: est-il possible de forcer la réplication en VBA?

Merci d'avance.

@micalement.



Kyvu On Line!
Avatar
Jean-François Aubert
re,
merci pour ton bout de code.
je vais l'essayer dès que possible.


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Kyvu" a écrit dans le message de news:631201c342d6$7dccbc70$
Salut Jean-François,

Voici un bout de la macro:

...

Dim Session As Object
Dim db As Object
Dim doc As Object
Set Session = CreateObject("Notes.NotesSession")
Set db = Session.GETDATABASE("", "")
Call db.OPENMAIL
Set doc = db.CREATEDOCUMENT()
With doc
.Form = "Memo"
.SendTo = ""
.CopyTo = ""
.Subject = "Notification de production!"
.body = "Mon message ici!"
.From = Session.COMMONUSERNAME
.PostedDate = Now
.SAVEMESSAGEONSEND = True
End With
Call doc.SEND(True)
Set Session = Nothing
Set db = Nothing
Set doc = Nothing

...

Le message est bien envoyé vers Lotus. Pas de problème.
Seulement, Lotus ne l'envoie pas tout de suite au
destinataire. Il n'envoit et recoit le courrier que toutes
les 5 heures. C'est un paramètrage propre à notre
entreprise pour désengorger le pov' réseau.

Mais il est possible de forcer l'envoi du message tout de
suite en lançant le réplicateur, bouton "Lancer"
ou "Envoyer ou recevoir du courrier". Là, le message part
tout de suite.

Dans le cas ou Lotus est fermé, la macro déclenche son
ouverture lors de la création du message. Donc pas de
problème de ce côté là non plus.

Mon problème ne vient pas de la création du message, mais
de son envoi instantanné et immédiat par Lotus.

Je pense qu'il doit exister une commande pour lancer le
réplicateur depuis VBA...

Merci d'avance!

@micalement.



Kyvu On Line!