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