Outlook, excel, userform...

  • Initiateur de la discussion Initiateur de la discussion Carnage029
  • 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 !

Carnage029

XLDnaute Occasionnel
Bonjour à ous, j'ai parcouru un peu le forum et je suis tombé sur pas mal de sujet ayant trait à mon soucis, mais je n'ai pas réussi à truver chaussure à mon pied 🙁

Je viens doc demander un peu d'aide 🙂

J'ai un userform dans un classeur excel, et je souhaiterais ajouter un bouton pour envoyer ce userform en tant que pdf, jpeg ou tout autre format potable en pièce jointe d'un mail, avec un corps de message prédefinit ainsi qu'un destinataire et un objet prédéfinit.

Merci à vous de votre aide 🙂
 
Re : Outlook, excel, userform...

Salut carnage,

le seul souci en fait c'est d'exporter le UserForm... si tu passe par un rapatriement des données saisie dans l'USF vers une feuille de ton classeur, puis que tu sauve cette feuille en pdf pour l'envoyer, cela te convient?
 
Re : Outlook, excel, userform...

Oui la solution me convient si la feuille est masqué,
par exemple, je crée une feuille avec le destinataire dans une celulle, l'objet et le corps du message (qu'on peut modifier si on connais un peu la structure du classeur) et je veux bien que le reste de la feuille serve pour exporter le USF
 
Re : Outlook, excel, userform...

Je me permet de double poster :

En gros en y réfléchissant, tu me dis, de créer une feuille vierge ou j'importe des données de mon USF avec la mise en page souhaitée, et j'envoie le mail en créant un .pdf de cette feuille ?

Le corps de mon message doit aussi comporter des variables.

En fait mon userform se rempli par le chargement de plusieurs fichiers deux à deux, puis ainsi de suite 7 fois... mais quand je ferme mon userform il perd les informations chargés...
 
Re : Outlook, excel, userform...

Re, oui c'est bien ça mon idée, tu ouvres ton fichier, tu cahrge le USF, tu le remplis (ou ça se fait tout seul) puis tu valide, la ça créer une nouvelle feuille avec les donnée de l'USF, on sauve ça en pdf, le corps du message se créer avec les variables que tu souhaites, ça met tout ça en mail et c'est partit!!

et il faut que les données arrivent dans l'usf sans avoir a le fermer, sinon c'est sûr qu'il perd les valeurs..


En conclusion tout ça c'est très faisable, tu post un exemple de fichier pour que l'on puisse t'aider?

Merci
 
Re : Outlook, excel, userform...

Bonjour à tous

Carnage029
Pour cette partie, essaies le code ci-dessous (NB: j'ai testé sur mon PC et cela fonctionne)
J'ai un userform dans un classeur excel, et je souhaiterais ajouter un bouton pour envoyer ce userform en tant que pdf, jpeg ou tout autre format potable en pièce jointe d'un mail

Il faut que ton userform (pour tester) se nomme UserForm1 et contienne 3 TextBox nommés TextBox1, TextBox2, TextBox3 et un CommandButton nommée CommandButton1

Dans le code de l'userform
VB:
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

VB:
Private Sub CommandButton1_Click()
Dim Ws As Worksheet, ShTmp, WSh, Bur_Chem$
Application.ScreenUpdating = False
Set WSh = CreateObject("WScript.Shell")
Bur_Chem = WSh.SpecialFolders("Desktop")
ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count)
Set Ws = ActiveSheet
Me.Repaint
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
With Ws
.Paste: .Shapes(1).Top = 0: .Shapes(1).Left = 0
End With
Set ShTmp = Ws.Shapes(1)
With Ws.ChartObjects.Add(1, 1, 10, 10)
       .Width = ShTmp.Width + 2
       .Height = ShTmp.Height + 2
        ShTmp.Copy
Randomize 1259474
        With .Chart
            .Paste
            .Export Bur_Chem & "\TEST_" & Format((Rnd * 100) + 1, "000") & ".png"
        End With
        .Delete
End With
Application.DisplayAlerts = False
Ws.Delete
Unload Me
Application.ScreenUpdating = True
End Sub

VB:
Private Sub UserForm_Initialize()
TextBox1 = StrConv("nous sommes le " & Format(Date, "dddd d mmmm yyyy"), vbProperCase)
TextBox3 = "Bonjour"
TextBox2 = Application.UserName
End Sub
Dans un module Standard
VB:
Sub LANCE_FRM()
Load UserForm1
UserForm1.Show 0
End Sub
Lancer la macro LANCE_FRM pour afficher le userform puis cliquer sur FERMER
ensuite aller voir l'image (copie de l'userform) qui se trouvera sur votre Bureau.

Ensuite, pour cette partie de ta question:
, avec un corps de message prédefinit ainsi qu'un destinataire et un objet prédéfinit.
il te suffit de trouver sur le forum grâce au moteur de recherche, les discussions relatives à l'envoi d'une image par email. 😉
 
- 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

Discussions similaires

Réponses
2
Affichages
816
Réponses
3
Affichages
899
Retour