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
 

osiris150

XLDnaute Occasionnel
Bonjour JM,

Merci pour ta proposition. c'est parfait !
Bonne journée
Cordialement
 

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