XL 2013 Feuilles masqués lors d'envoi email en VBA

osiris150

XLDnaute Occasionnel
Bonjour à tous,

Je viens demander votre aide car je suis confronté à un petit problème que je n'arrive pas à résoudre malgré mes recherches.
Voilà, j'ai mis en place l'envoi d'un fichier par mail avec un code VBA en cliquant sur un bouton. Cela marche parfaitement bien.
Le souci c'est que c'est un fichier qui à la base a des feuilles masquées et d'autres visibles. J'ai remarqué que lors de la réception du mail quand on va en prévisualisation sur Outlook on voit tous les onglets alors que je ne voudrais pas qu'ils apparaissent.
Si j'envoie le fichier en direct depuis Outlook bien évidemment je n'ai pas ce problème.
Existe-t-il une commande particulière en VBA pour que mon fichier avec des feuilles masquées, restent masquées une fois l'email envoyé ?
Merci par avance
Cordialement

Voici mon code pour l'envoi du mail :

VB:
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim Nom_Fichier As String
Dim MailDest As String, Societe As String

Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)

Societe = Sheets("BDD").Range("A1").Value
MailDest = Sheets("ADMINISTRATION").Range("N2").Value

Nom_Fichier = Application.ActiveWorkbook.FullName

If Nom_Fichier = "Faux" Then Exit Sub
With oBjMail
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.To = MailDest ' le destinataire
.Subject = Sheets("BDD").Range("A1").Value & " - Calcul des primes au : " & Sheets("BDD").Range("E3").Value ' l'objet du mail
.HTMLBody = "<font face=Arial><font size=3>Bonjour,<p>" _
& "<font face=Arial><font size=3>Veuillez trouver ci-joint le fichier Calcul des primes de la Société :" _
& " <br>" _
& " <br>" _
& Societe & " à la date du : " & Sheets("BDD").Range("E3").Value _
& " <br>" _
& " <br>" _
& "<font face=Arial><font size=3>Cordialement" _

.Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
.Send
End With

Set oBjMail = Nothing
Set ObjOutlook = Nothing
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, osiris150

osiris150
Crée une copie de ton classeur dans laquelle tu supprimeras tes feuilles masquées
Ou crée une copie de ton classeur ne contenant que les feuilles à diffuser (exemple ci-dessous)
VB:
Sub Exemple()
Dim Feuilles, PieceJointe As String
PieceJointe = ThisWorkbook.Path & "\copie.xlsx"
Feuilles = Array("Feuil1", "Feuil2", "Feuil4")
Sheets(Feuilles).Copy
ActiveWorkbook.SaveAs PieceJointe, 51
ActiveWorkbook.Close True
End Sub
 

Discussions similaires

Réponses
6
Affichages
268

Statistiques des forums

Discussions
311 711
Messages
2 081 783
Membres
101 817
dernier inscrit
carvajal