Bouton Macro pour envoi mail de formulaire une fois rempli

virtuelle13

XLDnaute Nouveau
Bonjour à tous,

Je profite de ce message pour vous souhaiter une excellente Année 2010.
Que celle-ci vous soit clémente et voit la réussite des projets qui vous tiennent à cœur.

Pour en venir à mon problème :

j'ai crée un formulaire à télécharger sur mon site, puis à compléter.
je souhaite créer une macro pour qu'une fois ce formulaire rempli, on clique sur un bouton macro et celui-ci me soit transmis directement par mail.
Peu importe qu'il soit sous la forme d'un classeur ou d'une feuille.

je remercie par avance tous ceux qui essaieront de m'aider. :)

bonne soirée
 

scratik

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour Djdbl

Quand tu auras quelques choses de finalisé tu pourras nous mettre ton fichier excel à dispo ??

Merci... Car moi j'arrive pas à faire fonctionner cette macro alors peut être qu'à partir de ton fichier je pourrais me débrouiller !!

Bonne journée
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Re :),
Ayant l'habitude que ce soit précisé dans la macro, j'ai oublier de le dire :eek:. Nécessite l'ouverture dans Outil -> Références dans l'éditeur VBA de Microsoft OutLook XX.X Object Library pour que ça fonctionne. XX.X remplace 12.0 pour 2007, 11.0 pour 2003, etc.
Bon courage :cool:
 

piwa

XLDnaute Occasionnel
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour,

JE me greffe au fil, pour une demande complémentaire, je galère pour envoyer en PJ ou dans l'idéal en corps de mail un Fichier HTML , je viens d'essayer en mhtml mais rien ni fait je perds les images (graphiques)

Une idée ?

Ci dessous le code

Sub envoi_FDJ()


' ************** Permet l'envoi par mail de la Feuille de Route du Jour ***********


Dim rngeSend As Range
With Application
On Error Resume Next
' La plage rngesend est definie ici:
Sheets("temp").Select
Set rngeSend = .Range("A1:V130")
' rngeSend Is Nothing lorsque l'utilisateur ne fait aucun choix
If rngeSend Is Nothing Then Exit Sub
On Error GoTo 0
' Exporte la plage vers un fichier de type HTML ceci afin de respecter la mise en page de la plage
.ActiveWorkbook.PublishObjects.Add(4, "E:\Job\Processus SAV GP\DIDR Hebdo TREIN\New RD2\FDJ.mhtml", rngeSend.Parent.Name, rngeSend.Address, 0, "", "").Publish True
' Appelle la routine qui va se charger de créer un mail
' Envoyer le Html en PJ

répertoireappli = ActiveWorkbook.Path

Dim olapp As Outlook.Application
Sheets("Sommaire").Select
Range("C41").Select ' *** Changer le pointage E Mail en fontion Equipe

Dim msg As MailItem
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = ActiveCell.Value
msg.Subject = Range("D41").Value '*** Changer le pointage Equipe
msg.body = Range("C49").Value & Chr(13) & Chr(13) & Range("C50").Value & Chr(13) & Chr(13)
msg.Attachments.Add Source:=répertoireappli & "\FDJ.mhtml"
msg.Send

' Pour envoyer dans le corps du mail mais probleme avec les images
'Call PrepareOutlookMail("E:\Job\Processus SAV GP\DIDR Hebdo TREIN\New RD2\FDJ.mhtml")
' Le fichier HTML n'est plus nécessaire:
Kill "E:\Job\Processus SAV GP\DIDR Hebdo TREIN\New RD2\FDJ.mhtml"
'Kill "E:\Job\Processus SAV GP\DIDR Hebdo TREIN\New RD2\FDJ_fichiers\*.*"

End With ' With Application

End Sub
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonsoir :),
Comme indiqué plus bas (ou plus haut, suivant tes préférences :D), tu peux envoyer un Body en HTML. par contre, pour le renseigner, le problème se situe au niveau du copier/coller qui sait stocker un ensemble de cellule en HTML, mais qui ne le restitue pas (tout au moins avec .Copy).
Il y a deux fonctions PutHTLMClipboard et GetHTMLClipboard qui devrait pouvoir te rendre service. Tu peux jeter un œil à ce fil où on s'en était servi, ainsi que les références.
Par contre, je ne garantie rien pour les photos, mais avec un mix sur cette discussion, qui sait :p.
N'hésite surtout pas à nous tenir au courant de tes progrès ;).
Bon courage :cool:
 

piwa

XLDnaute Occasionnel
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour,

Après Recherche multiple voila une solution assez simple qui me permet d'envoyer directement la feuille en cours, le seul problème reste les Graphiques qui ne passent pas dans le mail (et la je cale ..... )

Bizarrement en pas à pas les graphismes passent dans le mail et des que je lance la macro les images ne passent pas (cadre vide avec croix rouge ....)

Sub envoi_FDJ30()

' ************** Permet l'envoi par mail de la Feuille de Route du Jour ***********


Dim DestMail, CorpsMail, ObjetMail

' ************* Definir les Variables **************
DestMail = Sheets("Sommaire").Range("C47").Value ' *** Changer le pointage E Mail en fontion Equipe
CorpsMail = Sheets("Sommaire").Range("C49").Value ' *** Message Corps, Bonjour Ci dessous la tendance au jj/mm/aa
ObjetMail = Sheets("Sommaire").Range("D47").Value ' *** Changer le pointage E Mail en fontion Equipe

Sheets("temp").Select
ActiveSheet.Range("A1:V130").Select ' la plage de cellules à envoyer qui contient des tableaux et graphismes associés
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope

.Introduction = CorpsMail '
.Item.To = DestMail '
.Item.Subject = ObjetMail '
.Item.Send

End With

End Sub
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Re :),
Le seul problème reste les Graphiques qui ne passent pas dans le mail (et la je cale ..... )
Bizarrement en pas à pas les graphismes passent dans le mail et des que je lance la macro les images ne passent pas (cadre vide avec croix rouge ....)
Vu que ça ressemble au fait qu'il n'ait pas le temps de préparer ton JPEG avant envoi, essaie avec
.Item.Display
à la place .Item.Send
en principe, ça devrait créer le message et le laisser en attente de départ de ta messagerie.
Si c'est bien là le problème, tu pourras mettre une petite pause avant le .Send afin de lui laisser le temps de réagir ;).
Bonne soirée :cool:
 

star2067

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour! :D

Je viens de modifier ma feuille excel et avec la console VBA la fontion SendMail fontionne bien ( quand je click sur Exécution >> Exécution Sub/UserForm. A ce moment j'ai bien la demande d'autoriser l'envoie mail et la réception se fait dans la boite de outlook parfaitement ... seul hic!? :confused:

Quand je reviens sur la feuille excel et je click droit sur le bouton et sélectionne affecter une macro... la console d'affectation s'ouvre et je sélectionne le code VBA ici nommé "EvoiMail" Macro dans: Ma feuille à envoyer.

Quand je reviens dans ma feuille et click sur le bouton "supposément affecter à la macro" RIEN :mad:

Code
PHP:
Sub EnvoiMail()
' EnvoiMail Macro
' Envoi Mail
Application.DisplayAlerts = False
ThisWorkbook.SendMail Recipients:="ethopcascade@hotmail.com", _
Subject:="Formulaire de vente mensuel Entreprise moi et toi", _
ReturnReceipt:=True
'
    ActiveSheet.Shapes.Range(Array("Button 63")).Select
    Selection.OnAction = "EnvoiMail"
End Sub

Outlook bien configurer, code VBA nickel pour l'envoie ... affectation macro depuis le boutton ne fonctionne pas

Help please ! :eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 340
Membres
103 524
dernier inscrit
Smile1813