VBA envoi mail via outlook
Résolu
Joss062
Messages postés
38
Statut
Membre
-
Joss062 Messages postés 38 Statut Membre -
Joss062 Messages postés 38 Statut Membre -
Bonjour,
Est-ce que quelqu'un peut m'aider, voila mon problème, j'ai créé un bouton sur une feuille excel (nommée "FC" qui me permet d'envoyer par message électronique des infos sur cette feuille...
Je propose la possibilité d'envoyer ce message (via une boite msgbox) en copie, ou pas et à la fin de la procédure, après l'envoie du message, je souhaite revenir sur une une autre feuille nommée "Janvier"
Le problème c'est que le condition est bien respecter si le choix est "NON", mais quand on clic sur "OUI", le feuille "Janvier" est réactivée avant l'envoi du message... c'est ça mon souci, le sheets("Janvier").activate est à mon avis mal placé... je ne trouve pas la solution. voici le code :
[Sub Bouton9_Clic()
If MsgBox("Y-a-t-il des Agents en copie ?", vbYesNo, "Message en copie") = vbYes Then
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.Display
End With
Else
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.CC = " "
.Item.Send
End With
Sheets("Janvier").Activate
End If
End Sub]
Merci d'avance...
Joss
Est-ce que quelqu'un peut m'aider, voila mon problème, j'ai créé un bouton sur une feuille excel (nommée "FC" qui me permet d'envoyer par message électronique des infos sur cette feuille...
Je propose la possibilité d'envoyer ce message (via une boite msgbox) en copie, ou pas et à la fin de la procédure, après l'envoie du message, je souhaite revenir sur une une autre feuille nommée "Janvier"
Le problème c'est que le condition est bien respecter si le choix est "NON", mais quand on clic sur "OUI", le feuille "Janvier" est réactivée avant l'envoi du message... c'est ça mon souci, le sheets("Janvier").activate est à mon avis mal placé... je ne trouve pas la solution. voici le code :
[Sub Bouton9_Clic()
If MsgBox("Y-a-t-il des Agents en copie ?", vbYesNo, "Message en copie") = vbYes Then
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.Display
End With
Else
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.CC = " "
.Item.Send
End With
Sheets("Janvier").Activate
End If
End Sub]
Merci d'avance...
Joss
A voir également:
- Activesheet.mailenvelope
- Programmer envoi mail gmail - Guide
- Supprimer adresse mail outlook - Guide
- Windows live mail - Télécharger - Mail
- Envoi mail cci - Guide
- Publipostage mail - Accueil - Word
4 réponses
Bonjour,
Dans le cas ou tu clique sur oui , ton mail n'est pas envoyé.
Ta méthode .Send est dans ton Else.
Essaie de rajouter un .Send avant ton premier "End With" ceci:
Et comme tu peux voir , essais aussi en activant Ta feuille "Janvier" à la toute fin de ta procédure.
Tiens moi au courant.
Dans le cas ou tu clique sur oui , ton mail n'est pas envoyé.
Ta méthode .Send est dans ton Else.
Essaie de rajouter un .Send avant ton premier "End With" ceci:
If (// ton msgbox )
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.Display
.Item.Send
End With
Else
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.To = Range("A42")
.Item.CC = " "
.Item.Send
End With
End If
Sheets("Janvier").Activate
End Sub
Et comme tu peux voir , essais aussi en activant Ta feuille "Janvier" à la toute fin de ta procédure.
Tiens moi au courant.
Quand vous appuyez sur "non" dans votre msgbox le mail s'envois bien ?
Si oui , essayer d'enlever le display dans le cas Yes, le mail s'enverra automatiquement normalement
Si oui , essayer d'enlever le display dans le cas Yes, le mail s'enverra automatiquement normalement
Cela te dérangerais de mettre un input plutôt que d'ouvrir Outlook Afin de compléter les CC?
exemple:
if(yes)
mailAgent= inputBox("Saisissez les Mail des agents a mettre en copie(Séparé par des Point virgule):)
Puis rajouter dans ta création d'email
.Item.CC=mailAgent
Et envoyer ton mail Via le .Send ( Sans utiliser le Display)
exemple:
if(yes)
mailAgent= inputBox("Saisissez les Mail des agents a mettre en copie(Séparé par des Point virgule):)
Puis rajouter dans ta création d'email
.Item.CC=mailAgent
Et envoyer ton mail Via le .Send ( Sans utiliser le Display)
Je dois faire des erreurs dans le code... toujours pareil... je te le remets avec tes propositions...
Sub Bouton9_Clic()
If MsgBox("Y-a-t-il des Agents en copie ?", vbYesNo, "Message en copie") = vbYes Then
Mailagent = InputBox("Saisissez les Mail des agents a mettre en copie(Séparé par des Point virgule")
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.to = Range("A42")
.Item.CC = Mailagent
.Item.send
End With
Else
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.to = Range("A42")
.Item.CC = " "
.Item.send
End With
Sheets("Janvier").Activate
End If
End Sub
Sub Bouton9_Clic()
If MsgBox("Y-a-t-il des Agents en copie ?", vbYesNo, "Message en copie") = vbYes Then
Mailagent = InputBox("Saisissez les Mail des agents a mettre en copie(Séparé par des Point virgule")
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.to = Range("A42")
.Item.CC = Mailagent
.Item.send
End With
Else
ActiveSheet.Range("A1:M40").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Acceuil de la Maison de l'Autonomie"
.Item.to = Range("A42")
.Item.CC = " "
.Item.send
End With
Sheets("Janvier").Activate
End If
End Sub
donc c'est presque ça !