Envoyer mail depuis boite de fonction outlook

Bonjour tout le monde. Voici mon petit problème.

Je posséde une boite outlook classique et une boite de fonction (sous outlook aussi) qui permet d'envoyer des comptes rendues et de receptionner les reponses des differents destinataires sans surcharger ma boite perso. J'ai un programme qui envoie des mails automatiquement, mais je voudrais intégrer dans le code pour que ce soit toujours depuis ma boite de fonction que les mails soient envoyés. Ce qui se passe pour le moment c'est que quand c'est ma boite perso qui est ouverte au moment de l'envoie, les mails partent de celle ci et quand c'est la boite de fontion qui est ouverte les mails partent de la. Quand aucune des deux boites n'est ouverte le programme me demande laquelle je veux utiliser, dans ce cas je selectionne la boite de fonction mais le mail reste bloqué dans la boite d'envoie.... Je ne sais pas comment faire.

J'espère avoir était le plus clair possible dans mes pauvres explications.

Merci d'avance pour votre aide préciseuse

Zéé

Bonjour,

Peux-tu nous mettre à la disposition ton code ? Mettre à jour un code sans le connaître est dur.

Voici le code: =)

Sub EnvoiFinal()

Dim OutApp As Object

Dim OutMail As Object

Dim cell As Range, x As Integer

Dim mesdestinataires As String 'Tableau dans lequel sont stoquées les adresses mails

Dim Wkb As Workbook

Application.ScreenUpdating = False

'Groupement qui recupère les adresses mails

Sheets("Infos revue").Select 'Selectionne l'onglet dans lequel se trouve les adresses mails

For Each cell In Columns("C").Cells.SpecialCells(xlCellTypeConstants) 'Colonne C, colonne où se trouve l'adresse

If cell.Value Like "?*@?*.?*" And _

LCase(Cells(cell.Row, "D").Value) = "oui" Then mesdestinataires = cell.Value & "; " & mesdestinataires 'Colonne D, colle du critère d'envoi. Oui le mail est envoyé à ce destinataire

Next cell

x = Len(mesdestinataires) - 2

nbritem = Left(mesdestinataires, x)

'Groupement qui copie la plage de la feuille que l'on desire envoyer

Sheets("Synthèse").Select

ActiveSheet.Range("A1:E27").Select

ActiveWorkbook.EnvelopeVisible = True

'Groupement qui envoie le mail

If MsgBox("Etes-vous certain de vouloir envoyer ce mail ?", vbYesNo, "Demande de confirmation") = vbYes Then

With ActiveSheet.MailEnvelope

.Item.To = mesdestinataires 'Destinataire(s) du mail. Qui va chercher dans le tableau mesdestinataires dans l'onglet infos revue"

.Item.Subject = "Compte-Rendu" 'Objet du mail

.Introduction = "Accès aux présentations et listes des recommandations complètes: "

.Item.Send 'Envoi du mail

MsgBox "Le mail à bien été envoyé !"

End With

End If

'Verouillage de la feuille qui est envoyée

Sheets("Synthèse").Select

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Vérouillage de la feuille synthèse

Set OutMail = Nothing

Set OutApp = Nothing

Set Wkb = Nothing

End Sub

Re,

Essaye de commencer avec les déclarations suivantes :

'Déclaration des variables
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim cell As Range, x As Integer
Dim mesdestinataires As String 'Tableau dans lequel sont stoquées les adresses mails
Dim Wkb As Workbook
Application.ScreenUpdating = False
'création des objets
Set OutApp = CreateObject("Outlook.application")
Set OutMail = OutApp.CreateItem(olMailItem)

Erreur à l'exécution sur: OutApp As Outlook.Application

Type définipar l'utlisateur non défini..

Mais dans ce code c'est quelles instructions qui dit que le mail doit partir de ma boite de fonction?

Merci

Re,

Je pense qu'il te manque des librairies. Dans module vba, outils,référence rajoute ce qu'il faut comme "Microsoft Office 13.0 ....".

J'ai Microsoft office 12.0 de selectionné mais je ne trouve pas le 13.0.

Re,

Ok. Je peux tester avec une version 2007. Mais il faut le fichier qui va avec ta macro. Je pense que la version 12.0 suffit.

Rechercher des sujets similaires à "envoyer mail boite fonction outlook"