Envoi d'un userform par mail

hawk91

XLDnaute Nouveau
Bonjour à tous j'aimerai envoyer un userform avec les données saisie par mail, j'arrive à l'envoyer mais le fichier est vide, il faut qu'il soit sauvegarder avant envoi.
Voici ma syntaxe merci

Private Sub CommandButton3_Click()
Workbooks("Formulaire").SendMail Recipients:="XXXX.com", _
Subject:="Validé", _
ReturnReceipt:=True
 

MJ13

XLDnaute Barbatruc
Re : Envoi d'un userform par mail

Bonjour Hawk91

Pas très compréhensible ton problème.
Un userform (USf) est un formulaire mais ne contient pas de données à proprement parlé. Les données saisies dans l'USF seront transcrites sur une feuille Excel.

Donc, tu veux envoyer le fichier en cours?

Fais une recheche sur XLD avec Mail. Il y en as des tonnes.
 

MJ13

XLDnaute Barbatruc
Re : Envoi d'un userform par mail

Re Hawk

Bon, commeçons par le début.

Envoie déjà ton fcihier zippé de moins de 48 Ko sans données confidentielles.

Il y aura bien quelqu'un pour te venir en aide (j'ai pas trop le temps en ce moment).
 

gadget

XLDnaute Nouveau
Re : Envoi d'un userform par mail

Code:
Sub SendEmail(TypeCreation,FichierAttachement)

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

'autorisation d'affichage de message d'alerte
'Application.DisplayAlerts = True

'sujet de l'email
ESubject = CorpsDeEmail
'destinataire de l'email
sendto = AdresseDestinataire
'destinataire copie de l'email
CCTo = AdresseDestinataireCopie
End If
'corps du texte de l'email
Ebody = CorpsDeEmail
'nom du fichier d'attachement à l'email
'NewFileName = DirDemandeDeCodification & TypeCreation & ".xls"
'AttachementDoc = Dossier

Application.DisplayAlerts = False

'lancement de l'application outlook pour envoyer l'email
Set App = CreateObject("Outlook.Application")
'création de l'email
Set Itm = App.CreateItem(0)
With Itm
.Subject = ESubject
.To = sendto
.CC = CCTo
.Body = Ebody
'mon fichier est enregistré dans WorkDir sous le nom NewFileName
.Attachments.Add (WorkDir & NewFileName) ' Must be complete path
'.Display ' This property is used when you want
' the user to see email and manually send. Then
' comment out rest of code except “End With” statement
' and "End Sub" statement.
'évite l'apparition d'une fenêtre demandant si un logiciel externe
'est autorisé à envoyer des emails avec outlook
.send
End With
'fermeture de l'application après l'envoi de l'email
Set App = Nothing
Set Itm = Nothing
Application.DisplayAlerts = True
End Sub

bon courage (je l'ai pompé et transformé à ma sauce...

@+

gadget
 

hawk91

XLDnaute Nouveau
Re : Envoi d'un userform par mail

Je viens de trouver ça ??
'Sauvegarde le contenu des TextBox lors de la fermeture du UserForm
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
SaveSetting "Mes parametres", "TextBox1", "Valeur TextBox1", TextBox1.Value
SaveSetting "Mes parametres", "Textbox2", "Valeur TextBox2", TextBox2.Value
End Sub
Vba
'Récupère la valeur de la clé lors de l'ouverture du UserForm
Private Sub UserForm_Initialize()
TextBox1.Value = GetSetting("Mes parametres", "TextBox1", "Valeur TextBox1")
TextBox2.Value = GetSetting("Mes parametres", "TextBox2", "Valeur TextBox2")
 

MJ13

XLDnaute Barbatruc
Re : Envoi d'un userform par mail

Re

Ton post de 16H51, la je ne comprend pas trop.

Tu peux scinder ton fichier en 2 avec les données d'un coté et de l'autre l'UserForm que tu peux exporter et tu aura ainsi un fichier USF.bas qui devrait être facilement zippé.

Ensuite pense à supprimer le Userform du fichier de données.

Enfin tu joins les 2 fichiers zippés et ce sera un jeu d'enfant de les reconstituer.
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 946
Membres
103 989
dernier inscrit
jralonso