Macros Mail Template dynamique ?

  • Initiateur de la discussion Initiateur de la discussion Membre supprimé 156683
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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)
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macros Mail Template dynamique ?

Concernant le 2ème problème,

je pense avoir trouvé un bon début de solution:

Dim Cellule As Range

Set Plage = Application.InputBox("Sélectionner une plage", "SÉLECTION", Type:=8)
For Each Cellule In Plage
MsgBox "Adresse = " & Cellule.Address & vbCrLf & "Valeur = " & Cellule.Value
Next Cellule

Ce code me permet de selectionner les cellules, et d'afficher leur valeur.

Le (nouveau) problème est l'utilisation de "Cellule.value"

j'ai essayé de le mettre de telle façon :

With oMailItem
.To = " "
.Subject = ActiveWorkbook.ActiveSheet.Name & " - documents - Internal distribution"
.CC = Cellule.Value

Mais il m'affiche: Message d'erreur '91'
variable objet ou variable de bloc with non définie

pourtant mon bloc With est fermé.

Ne puis je pas utiliser cette valeur de cette façon?

M&m
 
Re : Macros Mail Template dynamique ?

Ce 2 ème bout de code m'a pas mal aidé à avancer, un seul problème subsiste :

Est possible de modifier un template (de mail) en .oft par macro?

(j'ai choisis le principe du template .oft car dans ".Body:" je n'arrive pas à mettre mon texte comme je le souhaite: dès que je saute des lignes ça bug.)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
647
Réponses
2
Affichages
725
Réponses
6
Affichages
678
Réponses
10
Affichages
491
Retour