Onglet masqué a ouvrir en debut de macro et refermer à la fin de macro

Bernard-Louis

XLDnaute Occasionnel
Bonjour a toutes et tous.

Cette macro envoie des documents en automatique. La liste des destinataires, ainsi que les documents a envoyer sont sur la Feuille 9. Cette feuille 9 est masquée pour des raison de securite. Pour que la macro fonctionne il faut que cette feuille 9 ne soit pas masquée au lancement de la macro et qu'elle soit de nouveau masquée quand la macro a fini de tourner.

Quel est le code a inserer dans la macro pour que l'envoi fonctionne sans afficher manuellement la feuille 9, et qu'elle soit de nouveau masquée a la fin ?

Merci pour votre aide.
Cordialement

Sub envoi_mail()


Feuil9.Select

k = 2

For k = 2 To 1000000

If Cells(k, 2) = "" Then
Exit For
End If

Next k


i = 2

For i = 2 To 1000000


If Cells(i, 2) = "" Then
Exit For
End If

Dim ol As Object, NOUVEAU_MESSAGE As Object
Dim strBody As String
Set ol = CreateObject("outlook.application")
Set NOUVEAU_MESSAGE = ol.CreateItem(olMailItem)

titre_mail = Cells(i, 4)
courriel_to = Cells(i, 2)
courriel_cc = Cells(i, 3)

corps_mail = Cells(i, 5) & Chr(10)
corps_mail = corps_mail & "Bonjour," & Chr(10) & Chr(10)
corps_mail = corps_mail & "Veuillez trouver ci-jointes les dernières." & Chr(10) & Chr(10) & Chr(10)
corps_mail = corps_mail & "Cordialement," & Chr(10) & Chr(10)
corps_mail = corps_mail & "XXXXXXXXXXX." & Chr(10) & Chr(10) & Chr(10)
corps_mail = corps_mail & "Piece jointe :" & Chr(10) & Chr(10)

NOUVEAU_MESSAGE.To = courriel_to
NOUVEAU_MESSAGE.Subject = titre_mail
NOUVEAU_MESSAGE.cc = courriel_cc
NOUVEAU_MESSAGE.Body = corps_mail

j = 6

For j = 6 To 500

If Cells(i, j) = "" Then
Exit For
End If

On Error Resume Next
NOUVEAU_MESSAGE.Attachments.Add "\\XXXXXXXXXX\YYYYYYYYYY\VVVV\" & Cells(i, j) & ".pdf"
On Error GoTo 0

Next j

If j <> 6 Then
NOUVEAU_MESSAGE.Display

SendKeys "^{ENTER}", True

Set ol = Nothing

End If

Next i


End Sub
 

papapaul

XLDnaute Impliqué
Re : Onglet masqué a ouvrir en debut de macro et refermer à la fin de macro

:)Salut Forum, ca me semble bien trop simple,

Sheets("Feuil9").Visible = True (avant feuil6.select)

Sheets("Feuil9").Visible = False (avant end sub)

Ai-je bien compris tes codes ?:rolleyes:

Amitiés à tous
 

Discussions similaires

Réponses
8
Affichages
501

Statistiques des forums

Discussions
312 321
Messages
2 087 229
Membres
103 497
dernier inscrit
JP9231