Envoyer plusieurs feuilles pare email avec une macro

davabuda

XLDnaute Nouveau
Bonjour,

J ai un classeur avec plusieurs feuilles et je voudrais envoyer que 4 feuilles sur les 14 par email en automatique a plusieurs destinataire
je suis vraiment novice sur le macros, je cherche donc sur les forums , les aides ... et j en suis la

Sub selectionmail()
Dim Dest As String, Sujet As String
Sheets(Array("graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat")).Select
Sheets("graph X last ears and SH").Activate
ActiveSheet.Copy
Dest = "xxxx@xxx.xxx" 'Saisir l'adresse mail
Sujet = "7 last day hardening data"
ActiveWorkbook.SendMail Dest, Sujet, True
Application.DisplayAlerts = False
ActiveWorkbook.Close 'ferme la copie de la feuille active
Application.DisplayAlerts = True
End Sub

j ai enregistrer la macro permettant de sélectionner les 4 feuilles, que j ai recopie dans cette macro.
la macro envoie bien un email, mais simplement avec une seule feuille au lieu des 4.
je pense que :
Sheets("graph X last ears and SH").Activate
ActiveSheet.Copy

est la cause de mon problème, mais si je mets le noms des autres feuilles la macro plante...

quelqu un peu il m aiguiller ?

merci d avance
 

camarchepas

XLDnaute Barbatruc
Re : Envoyer plusieurs feuilles pare email avec une macro

Bonjour ,

Et oui , tu sélectionnes bien les feuilles voulues , mais ensuite tu réactives une seule .

La ligne en vert si dessous à passer en commentaire ou supprimer .

Code:
Sub selectionmail()
 Dim Dest As String, Sujet As String

 Sheets(Array("graph X last ears and SH", "graph X last process parameters", _
 "graph X last case depth", "graph lot mat")).Select
 
'Sheets("graph X last ears and SH").Activate    -- Ligne à supprimer ou laisser en commentaire

 ActiveSheet.Copy
 Dest = "xxxx@xxx.xxx" 'Saisir l'adresse mail
 Sujet = "7 last day hardening data"
 ActiveWorkbook.SendMail Dest, Sujet, True
 Application.DisplayAlerts = False
 ActiveWorkbook.Close 'ferme la copie de la feuille active
 Application.DisplayAlerts = True
 End Sub
 

davabuda

XLDnaute Nouveau
Re : Envoyer plusieurs feuilles pare email avec une macro

OK, merci , mais la macro envoie tout le classeur et non pas simplement les 4 feuilles.
 

camarchepas

XLDnaute Barbatruc
Re : Envoyer plusieurs feuilles pare email avec une macro

elle ne devrait envoyer que

ces 4 feuilles :
graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat"

bizard
 

davabuda

XLDnaute Nouveau
Re : Envoyer plusieurs feuilles pare email avec une macro

elle ne devrait envoyer que

ces 4 feuilles :
graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat"

bizard

En fait quand on envoie par email , excel envoie tout le fichier, on n epeut pas selectionner les feuilles contrairement a une impression.
J ai donc copier les 4 feuilles dans un nouveua fichier que je nvoie par mail
par contre je n arrive toujours pas a mettre un texte dans le corps du message ...

ci dessous la macro
Sub Envoi()
Dim Dest(2) As String, Sujet As String
Dim Msg As String


Sheets(Array("graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat")).Select
Sheets("graph lot mat").Activate
Sheets(Array("graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat")).Copy

Dest(0) = "david.daurizio@delphi.com" 'Saisir l'adresse mail
Dest(1) = "davabuda@gmail.com"
Sujet = "Journal hardening data"
Msg = "Attached the 7 last days of hardening data"

ActiveWorkbook.SendMail Dest, Sujet, True
Application.DisplayAlerts = False
ActiveWorkbook.Close 'ferme la copie de la feuille active
Application.DisplayAlerts = True
MsgBox ("Synthèse envoyée")
End Sub

merci
 

Yaloo

XLDnaute Barbatruc
Re : Envoyer plusieurs feuilles pare email avec une macro

Bonsoir davabuda,

Avec la macro ci-dessous chez moi ça fonctionne
VB:
Sub Envoi()
Dim Dest(2) As String, Sujet As String
Dim Msg As String

Sheets(Array("graph X last ears and SH", "graph X last process parameters", _
"graph X last case depth", "graph lot mat")).Copy
Dest(0) = "***.****@****.com" 'Saisir l'adresse mail
Dest(1) = "******@gmail.com"
Sujet = "Journal hardening data"
Msg = "Attached the 7 last days of hardening data"

ActiveWorkbook.SendMail Dest, Sujet, True
Application.DisplayAlerts = False
ActiveWorkbook.Close 'ferme la copie de la feuille active
Application.DisplayAlerts = True
MsgBox "Synthèse envoyée"
End Sub
Edit : Bonjour Staple et merci pour ta vigilance ;)
 
Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas