Menu

Bouton envoyer mail

Messages postés
225
Date d'inscription
vendredi 8 avril 2005
Dernière intervention
6 janvier 2019
- - Dernière réponse : cs_PaTaTe
Messages postés
1878
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
7 janvier 2019
- 6 janv. 2019 à 18:43
Bonjour,

J'ai un tableau Excel que je souhaiterais envoyer automatiquement fin de mois via un clic sur un bouton.
Je ne connais RIEN en programation.
J'ai déniché sur le web un code qui pourrait servir je crois.

Mais.... il ne fonctionne pas.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2017/9/14
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Body content" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2"
On Error Resume Next
With xOutMail
.To = "xxxxx@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Test email send by button clicking"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub


Questions : 1 que doit on mettre en xMailBody

2. faut il farder les " devant et après l'adresse mail ?

3.Comment repasser du mode création au mode conception dans le Developer ?


Si quelqu'un avait le courrage de m'aider......

Merci d'avance.
Afficher la suite 

Votre réponse

3 réponses

Messages postés
1878
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
7 janvier 2019
131
0
Merci
xMailBody est une variable de type String contenant tout le texte de l'email.

A toi de la déclarer et d'y appliquer le contenu que tu souhaite (ce que tu veux dans ton mail en somme)

Cela dit, j'aurai ré-écris ce code pour simplifier son utilisation (et ré-utilisation)
Commenter la réponse de cs_PaTaTe
Messages postés
7515
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
17 janvier 2019
1620
0
Merci
Bonjour,

« Je ne connais RIEN en programation. »
Si tu n'apprends pas , tu cours à la catastrophe en piochant des codes ici et là !
Mais apprendre va te demander beaucoup de temps (et même plus).
Ici un excellent cours pour débutant :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf

Mais tu peux générer un mail sans VBA avec un lien hypertexte.
Exemple : https://mon-partage.fr/f/1xH3RYnv/


Cordialement
Patrice
Commenter la réponse de Patrice33740
Messages postés
1878
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
7 janvier 2019
131
0
Merci
Ca prend 5 minutes à adapter.

Petite Sub adaptée du code fournie :

Private Sub SendMail(SendTo As String, Subjet As String, Content As String, Optional SendCopy As String = "", Optional SendHiddenCopy As String = "")
On Error Resume Next
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
.To = SendTo
.CC = SendCopy
.BCC = SendHiddenCopy
.Subject = Subjet
.Body = Content
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub


Et on l'appelle comme ceci :

Call SendMail("toto@toto.com", "Mail de test", "Ceci est un mail de test.")

Si on veut une adresse mail en copie :

Call SendMail("toto@toto.com", "Mail de test", "Ceci est un mail de test.", "tata@tata.com")

Si on veut quelqu'un en copie ET en copie invisible :

Call SendMail("toto@toto.com", "Mail de test", "Ceci est un mail de test.", "tata@tata.com", "tutu@tutu.com")

Et enfin si on ne veut que quelqu'un en copie invisible et en copie normale :

Call SendMail("toto@toto.com", "Mail de test", "Ceci est un mail de test.", "", "tata@tata.com")

Ce code est fonctionnel, je l'ai testé avant de le poster ^^

Evidement, y a toujours moyen d'optimiser la chose ...
Commenter la réponse de cs_PaTaTe