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

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 !

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
 
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
 
- 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

Discussions similaires

Réponses
4
Affichages
362
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
638
Réponses
6
Affichages
671
Réponses
12
Affichages
909
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
387
Retour