Envoyer feuil par mail.

Proz

XLDnaute Occasionnel
;) Bonjour à tous,

Sauriez vous comment faire pour envoyer une feuil ou son contenu par mail. Juste la Feuil ou son son contenu, pas le classeur si c'est possible.:D
 

Proz

XLDnaute Occasionnel
Re : Envoyer feuil par mail.

:D

Bonjour à tous,

Après recherche, j'ai pu m'apercevoir que cela n'était pas possible d'envoyer une seule Feuil depuis un classeur.
Par contre je sais que par VBA, on peut copier cette feuille dans un nouveau classeur et ensuite l'envoyer par mail.
J'ai trouvé sur ce forum la partie du code pour l'envoie d'un Mail avec intégration de l'eMail et de l'objet. Il reste la partie code Copier/Coller dans un autre classeur.
Auriez vous une soluce?
 

mth

XLDnaute Barbatruc
Re : Envoyer feuil par mail.

bonsoir,
Très humblement, à tester, mais cette macro fonctionne de mon coté pour envoyer par mail la feuille nommée "mail" sans envoyer le classeur en entier:

Sheets(Array("mail")).Copy


Dim Tableau As Variant
Dim i As Integer
Tableau = Array("nom1@adresse1", "nom2@adresse2)
For i = 0 To 1 '........... 0+1 = 2 adresses, pour 3 adresse écrire 0 TO 2
ActiveWorkbook.SendMail Recipients:=Tableau(i), Subject:="sujet du mail"
Next i

Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True


Bien à vous,
MTh
 

Proz

XLDnaute Occasionnel
Re : Envoyer feuil par mail.

;)

j'ai intégré ce code pour la copie qui fonctionne niquel (trouvé sur le forum)
Private Sub CommandButton1_Click()
ActiveSheet.Copy
ActiveWorkbook.SaveAs ("Absences")
Application.DisplayAlerts = False
ActiveWorkbook.Close False
Application.DisplayAlerts = True
End Sub

Pour l'envoie j'ai ceci
Sub EnvoieFichierJoint()
Dim Dest As String
Dim Sujet As String
Dest = "toto@laposte.net"
Sujet = "Test d'envoi d'email"
ActiveWorkbook.SendMail Dest, Sujet, True
End Sub

Mais sans modif le code m'envoie le classeur et non la copie de la feuille. Comment intégrer les deux codes en 1, SVP? Merci
 

Proz

XLDnaute Occasionnel
Re : Envoyer feuil par mail.

:confused:

Private Sub CommandButton1_Click()
Sheets(TDGM).Copy
Dim Tableau As Variant
Dim i As Integer
Tableau = TDGM("toto@laposte.net", "toto@laposte.net")
For i = 0 To 1 '........... 0+1 = 2 adresses, pour 3 adresse écrire 0 TO 2
ActiveWorkbook.SendMail Recipients:=Tableau(i), Subject:="sujet du mail"
Next i

Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub

Désolé mais fonctionne pas? J'ai pourtant modifier le nom de la feuil?
 
Dernière édition:

Proz

XLDnaute Occasionnel
Re : Envoyer feuil par mail.

:D

Comme cela ça fonctionne:
Private Sub CommandButton1_Click()
ActiveSheet.Copy

Dim Dest As String
Dim Sujet As String
Dest = "toto@laposte.net"
Sujet = "Test d'envoi d'email"
ActiveWorkbook.SendMail Dest, Sujet, True


Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub

Je cherche pour l'envoie à plusieurs destinataires...:D
 

mth

XLDnaute Barbatruc
Re : Envoyer feuil par mail.

peut-être en mettant la liste des destinataires dans un tableau?

Dest = Array("nom1@laposte.fr", "nom2@laposte.fr)
For i = 0 To 1 '........... 0+1 ' pour 2 adresses
ActiveWorkbook.SendMail etc...
Next i

Désolée, j'essaie d'être solidaire mais je suis nulle en VBA....
j'espère que vous allez réussir ou qu'un moins mauvais que moi pourra mieux vous aider.
Bon courage,
Mth
 

Cousinhub

XLDnaute Barbatruc
Re : Envoyer feuil par mail.

Bonjour,
Si tu envoies via outlook, je peux te proposer ce code :
(de jboisgontier)
 

Pièces jointes

  • envoimail.zip
    12.8 KB · Affichages: 102
  • envoimail.zip
    12.8 KB · Affichages: 104
  • envoimail.zip
    12.8 KB · Affichages: 105

Proz

XLDnaute Occasionnel
Re : Envoyer feuil par mail.

:D

Besoin d'un coup de pouce trouve pas d'ou vient le pb?

Private Sub CommandButton1_Click()
répertoireAppli = ActiveWorkbook.Path
Sheets("TDGM").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs répertoireAppli & "\Absences Mosson-Hôp Fac.xls"
ActiveWindow.Close
'--- Envoi par mail
Dim olapp As Outlook.Application
Sheets("destinataires").Select
Range("A11").Select ------------------------------------------->pb?
Do While Not IsEmpty(ActiveCell)
Dim msg As MailItem
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = ActiveCell.Value
msg.Subject = Range("A2").Value
msg.Body = Range("A5").Value & Chr(13) & Chr(13) & Range("A8").Value & Chr(13) & Chr(13)
msg.Attachments.Add Source:=répertoireAppli & "\Absences Mosson-Hôp Fac.xls"
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : Envoyer feuil par mail.

Bonsoir,
le code de la macro est-il bien dans le code de la feuille "Destinataires"?
Le bouton qui appelle la macro est-il bien dans la feuille "Destinataires"?
si non, il vaut mieux inscrire le code dans un module standard, et appeler la procédure via un Call la_macro_qui_envoie_le_mail
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland