M
Membre supprimé 156683
Guest
Bonjour à tous,
Mon objectif est de réaliser une macro de façon à pouvoir envoyer des mails assez rapidement :
J’ai créé un bouton dans la barre d’outils auquel j’ai assigné la macro suivante :
Sub test()
Dim AppOut As Object
Dim oMailItem As Object
Dim Template As String
Template = "C:\Users\Template.oft"
Set AppOut = CreateObject("Outlook.Application")
Set oMailItem = AppOut.CreateItemFromTemplate(Template)
oMailItem.Display
With oMailItem
.To = " "
.Subject = ActiveWorkbook.ActiveSheet.Name & " - documents - Internal distribution"
.CC = ""
.Display
End With
End Sub
1er problème :
Comme vous pouvez le voir j’ai créé un template du mail (ci-joint) et mais j’aimerais pouvoir le modifier avec la macro :
Dans le fichier « liste de distrib.xls » j’aimerais faire un « If Ubound (sur les 10 premières lignes dans la colonne A de l’Active Worksheet) = Name, alors copier les données de la cellule juste à coté sur la même ligne et la coller à la place de (*)² dans le template.oft » et le copier aussi dans le Subject entre le « – » et « document » est ce possible ?
2ème problème :
J’aimerais aussi remplir le To : et le CC : du mail de telle manière :
« Liste de distrib.xls » est un extrait du vrai fichier, dont le template n’est pas respecté sur chaque feuille, donc je me demandais si c’est possible de remplir le champ Destinataire et en Copie, de manière à ce que les personnes qui vont l’utiliser n’aient qu’à sélectionner une première case, dont les données (adresse mail) se mettent en To : et une deuxième sélectionnée qui se mettra en CC.
Il la (les) sélectionne(nt) avant de cliquer sur le bouton de la macro.
Une telle méthode est possible ?
Je vous remercie d’avance,
M&m
PS : il faut renommer le fichier Template.xls, en Template.oft (je n'arrivais pas à le joindre au message avec l'extension .oft)
Mon objectif est de réaliser une macro de façon à pouvoir envoyer des mails assez rapidement :
J’ai créé un bouton dans la barre d’outils auquel j’ai assigné la macro suivante :
Sub test()
Dim AppOut As Object
Dim oMailItem As Object
Dim Template As String
Template = "C:\Users\Template.oft"
Set AppOut = CreateObject("Outlook.Application")
Set oMailItem = AppOut.CreateItemFromTemplate(Template)
oMailItem.Display
With oMailItem
.To = " "
.Subject = ActiveWorkbook.ActiveSheet.Name & " - documents - Internal distribution"
.CC = ""
.Display
End With
End Sub
1er problème :
Comme vous pouvez le voir j’ai créé un template du mail (ci-joint) et mais j’aimerais pouvoir le modifier avec la macro :
Dans le fichier « liste de distrib.xls » j’aimerais faire un « If Ubound (sur les 10 premières lignes dans la colonne A de l’Active Worksheet) = Name, alors copier les données de la cellule juste à coté sur la même ligne et la coller à la place de (*)² dans le template.oft » et le copier aussi dans le Subject entre le « – » et « document » est ce possible ?
2ème problème :
J’aimerais aussi remplir le To : et le CC : du mail de telle manière :
« Liste de distrib.xls » est un extrait du vrai fichier, dont le template n’est pas respecté sur chaque feuille, donc je me demandais si c’est possible de remplir le champ Destinataire et en Copie, de manière à ce que les personnes qui vont l’utiliser n’aient qu’à sélectionner une première case, dont les données (adresse mail) se mettent en To : et une deuxième sélectionnée qui se mettra en CC.
Il la (les) sélectionne(nt) avant de cliquer sur le bouton de la macro.
Une telle méthode est possible ?
Je vous remercie d’avance,
M&m
PS : il faut renommer le fichier Template.xls, en Template.oft (je n'arrivais pas à le joindre au message avec l'extension .oft)
Pièces jointes
Dernière modification par un modérateur: