1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
Private Sub CommandButton1_Click()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' Cette macro est déclenchée par un clic sur le bouton d'envoi par mail. Elle a pour but d'envoyer ''
'' le bon de commande "xxx" du service "xxx" par mail au service Economique. ''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Déclaration des variables.
Dim Jour As String ' Jour en cours.
Dim Mois As String ' Mois en cours.
Dim Annee As String ' Année en cours.
Dim NomClasseurTampon As String ' Nom du classeur envoyé par mail, contenant le bon de commande "xxx".
Dim Destinataires(1) As String ' Liste des destinataires du mail (2 destinataires sont définis pour ce bon de commande).
' Initialisation des variables.
If DatePart("d", Date) < 10 Then
Jour = "0" & DatePart("d", Date)
Else
Jour = DatePart("d", Date)
End If
If DatePart("m", Date) < 10 Then
Mois = "0" & DatePart("m", Date)
Else
Mois = DatePart("m", Date)
End If
Annee = DatePart("yyyy", Date)
NomClasseurTampon = "BDC xxx - " & ActiveSheet.Name & " - " & Jour & "-" & Mois & "-" & Annee
Destinataires(0) = "adresse1@truc.com"
Destinataires(1) = "adresse2@truc.com"
' Copie de la feuille active (ici "xxx") dans un nouveau classeur.
ActiveSheet.Copy
' Renommage du classeur nouvellement créé (classeur tampon) pour envoi par mail.
ActiveWorkbook.SaveAs Filename:=NomClasseurTampon
' Envoi du classeur tampon par mail.
ActiveWorkbook.SendMail _
Recipients:=Destinataires(), _
Subject:=NomClasseurTampon
' Fermeture du classeur tampon, sans sauvegarder.
ActiveWorkbook.Close SaveChanges:=False
' Suppression du classeur tampon.
Kill "C:\Users\PC\Documents\" & NomClasseurTampon & ".xls"
' Affichage de la date du dernier envoi.
Worksheets("xxx").Range("K17").Value = Date
' Message de confirmation d'envoi du mail.
MsgBox "Le bon de commande """ & ActiveSheet.Name & """ a bien été envoyé au service Economique."
' Remise à zéro du bon de commande "xxx".
Sheets("xxx").Range("E9:G34,B3:B4").ClearContents
' Affichage de la date du dernier envoi sur la feuille "Récapitulatif".
Sheets("Récapitulatif").Range("F11").Value = Date
Sheets("Boisson - Alimentaire").Range("A1").Select
End Sub |
Partager