Ben tu laisse tout le code dans ton classeur qui génère les autres ...
et tu rebascule de l'un sur l'autre avec :
windows("tonclasseur.xls").activate
sachant evidemment qu tu dois stocké le nom du classeur que tu est en train de générer (et mailer) dans une variable.
pour envoiyer par mail si tu peu te contenter de mettre le fichier en piece jointe :
Private Sub mail()
Dim iMsg As New CDO.Message
Dim iConf As New CDO.Configuration
'Dim Flds As ADODB.Fields
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour exchange
'.Item(cdoSMTPServerName) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour Windows 2000
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "ton identifiant de connexion"
.Item(cdoSendPassword) = "ton mot de passe"
.Item(cdoURLProxyServer) = "server:80"
.Item(cdoURLProxyBypass) = "<local>"
.Item(cdoURLGetLatestVersion) = True
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "destinataire@domaine.com" ' <Adresse email>"
.From = "expéditeur@domaine.com" ' <adresse email>"
.Subject
"Ca marche !"
'.TextBody
'.AddAttachment "D:\testfax.xls"
.Send
End With
iMsg.TextBody = "toto"
iMsg.Send
End Sub
merci à la personne à qui j'ai piqué ce bout de code !! (je sais plus où je l'ai trouvé)
par cette méthode tu passe meme pas par un client de messagerie genre outlook ... direct en SMTP
cette méthode demande juste a ce que tu active 2 librairies dans références :
-Microsoft ADO 2.5 (moi j'ai activé la 2.7)
-Microsoft CDO
cette solution ca marche tout seul !!
par contre moi la difficulté que j'ai c'est pour mettre ma feuille active (ou meme une plage donnée) directement dans le corps du mail !
si quelqu'un a une solution merci de m'envoyer un mail sur :
diablo.baal@laposte.net