Envoyer feuille par Mail

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

G

guitarde

Guest
Bonjour,

Je cherche à automatiser l'envoi d'une feuille par mail, je désire que la feuille soit intégrée dans le courriel et non pas en pièce jointe.

Tel que via menu : Fichier / Envoyer vers / Destinataire

Avec vba je désire y spécifier le destinataire, le cc et le sujet + possiblement envoyer le message.


J'ai déjà le code requis pour générer un courriel avec un fichier joint.


Merci pour votre aide.
Eric
 
Quelqu'un sait s'il existe quelque chose de similaire pour Excel 2000 ?


----------------------------------------------
si tu utilises Excel2002 , tu peux tester

Sub envoiPlageCellules_XP()
'http://support.microsoft.com/default.aspx?scid=kb;en-us;816644
ActiveSheet.Range('B5:E10').Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = 'bonjour , ci joint les données ...'
.Item.To = 'leForum@xld.fr'
.Item.Subject = 'le sujet'
.Item.Send
End With
End Sub


bonne soirée
MichelXld
 
Il y a surement de quoi s'inspirer
mais comme c'est le week-end
je vous laisse

Sub Mail_sheets()
'http://www.exceltip.com/st/Mail_sheet(s)_to_one_or_more_people_using_VBA_in_Microsoft_Excel/542.html
Dim MyArr As Variant
Dim last As Long
Dim shname As Long
Dim a As Integer
Dim Arr() As String
Dim N As Integer
Dim strdate As String
For a = 1 To 253 Step 3
If ThisWorkbook.Sheets('mail').Cells(1, a).Value = '' Then Exit Sub
Application.ScreenUpdating = False
last = ThisWorkbook.Sheets('mail').Cells(Rows.Count, a).End(xlUp).Row
N = 0
For shname = 1 To last
N = N + 1
ReDim Preserve Arr(1 To N)
Arr(N) = ThisWorkbook.Sheets('mail').Cells(shname, a).Value
Next shname
ThisWorkbook.Worksheets(Arr).Copy
strdate = Format(Date, 'dd-mm-yy') & ' ' & Format(Time, 'h-mm-ss')
ActiveWorkbook.SaveAs 'Part of ' & ThisWorkbook.Name _
& ' ' & strdate & '.xls'
With ThisWorkbook.Sheets('mail')
MyArr = .Range(.Cells(1, a + 1), .Cells(Rows.Count, a + 1).End(xlUp))
End With
ActiveWorkbook.SendMail MyArr, ThisWorkbook.Sheets('mail').Cells(1, a + 2).Value
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
Application.ScreenUpdating = True
Next a
End Sub
 
Merci Michel, je vais regarder l'option html.


Avec send-key, crois-tu que je pourrais réussir à coller ma plage dans un courriel généré automatiquement par Excel ?

La difficulté est toujours d'activer la fenêtre du nouveau courriel.


Bon week-end
Eric
 
Ma meilleure option semble être d'utiliser le code suivant:
'http://www.j-walk.com/ss/excel/tips/tip86.htm

+ SendKeys String:='^v', Wait:=True ' Coller le clipboard



Comme ca j'ai vraiment la mise en forme de ma feuille dans le courriel.


Merci
Eric
 
- 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
1 K
Réponses
2
Affichages
1 K
Retour