Bonjour à tous,

Tout d'abord merci pour ce forum, il m'est d'une grande aide pour mon travail

Je vous expose mon pb : j'ai réalisé une petite macro qui envoie une feuille par mail avec l'option Sendmail. Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Voici ma question : lorsque l'utilisateur clique sur le bouton "Envoyer" de la demande de confirmation d'envoi de mail, tout se passe bien, la msgbox de confirmation s'affiche avec le message "Le bon de commande blabla a bien été envoyé etc.".
Je voudrais maintenant que lorsque l'utilisateur clique sur "Ne pas envoyer", une autre msgbox s'affiche. Le pb est que je n'arrive pas à détecter le bouton sur lequel l'utilisateur a cliqué (cela me permettrait de réaliser une instruction conditionnelle du type : si clic sur "Envoyer" alors msgbox "confirmation envoi" + "remise à 0", sinon "confirmation non envoi").

Et pendant que j'y suis, est-il normal qu'avec une messagerie de type windows live mail, les adresses des destinataires s'affichent bien dans la demande de confirmation d'envoi, alors qu'avec Outlook, seul un ";" s'affiche? (les mails sont bien envoyés, cependant).

Merci de m'éclairer sur ce point, ce n'est pourtant pas faute d'avoir cherché!

[Edit]

Je me permets de reformuler ma demande : comment puis-je afficher une msgbox "mail non envoyé" si l'utilisateur clique sur le bouton "ne pas envoyer" après l'exécution de la fonction sendmail?