Programation VBA

Bonjour

je souhaiterais interdire l'envoi d'un mail

si le fichier n'est pas enregistrer

voici mon code pour la création du mail

Sub crmp2021mail()

MsgBox "REDACTION DU MAIL EN COURS"
MsgBox "CHOIX DE LA PIECE JOINTE"
Dim Fichier As String
Fichier = Application.GetOpenFilename(, , " selectionner le fichier à envoyer")
If Fichier = "" Then
MsgBox " aucun fichier selectionné, envoie du mail annulé"
Exit Sub
End If

Dim lemail As Variant
Set lemail = CreateObject("outlook.application") 'creation d'un objet outlook
With lemail.CreateItem(olMailItem)
.Subject = " crmp GRTgaz"
.To = Range("ac30")
.Attachments.Add Fichier
.Body = Range("bw12")
.Display
MsgBox " ENVOI DU MAIL EN COURS "

End With
End Sub

bonjour,

Je souhaiterais interdire l'envoi d'un mail

si le fichier n'est pas enregistrer

tu parles de l'annexe ?

Oui interdire la techerche de la feuiile a joindre au mail et revenir a ma feuiile excell

Hello à tous,

Fichier = Application.GetOpenFilename(, , " selectionner le fichier à envoyer")
If Fichier = "" Then

Tu demandes à l'utilisateur de choisir un fichier, donc s'il n'est pas enregistré, il n'apparaitra pas, non ?

Ou alors il y a un truc qui m'échappe

bonjour a tous

pour répondre à Rag02700

pas forcement car sa ouvre mon arborescence donc pas uniquement le dernier fichier enregistrer

Rebonjour,

concernant l'annexe, de quel type de fichier s'agit-il ? quelle extension ?

On peut essayer de détecter si le fichier (annexe) est encore ouvert dans une application et en déduire qu'il n'a pas été sauvegardé, mais rares sont les applications qui gardent le fichier ouvert et donc cette détection dépend de l'application utilisée pour gérer cette annexe. Il pourrait ne pas y avoir de solution.

Rechercher des sujets similaires à "programation vba"