Envoie d'un mail VBA sous condition

bonjour a vous tous;

la macro ci dessous fonctionne très bien , j'aurai souhaiter ajouter une condition. A savoir pour envoyé le mail il faut l'information PCC de la cellule H4 sinon pas d'voie et si possible avec un msgbox.

par avance , merci et surtout faite attention a vous.

Sub envoiClasseur()

Dim Fichier As Variant

'ici on demande d'utiliser Outlook comme client de messagerie'

Dim MaMessagerie As Object

Dim MonMessage As Object

Set MaMessagerie = CreateObject("Outlook.application")

Set MonMessage = MaMessagerie.CreateItem(0)

If Range("M1") <> "" Then MsgBox "Fichier déjà envoyé ": Exit Sub

'ici nous definissons les champs du mail'

'entre duillemet il faut indiquer les adresse mail'

MonMessage.To = "machin@truc.bidul"

'ici nous commencons la rédaction du mail'

MonMessage.Attachments.Add ActiveWorkbook.FullName

'sujet du mail'

MonMessage = "Signalement PCC"

'Corps du mail'

contenu = "Bonjour,"

contenu = contenu & Chr(10) & Chr(13)

'les caractèrs Chr indiquent un saut de ligne'

contenu = contenu & "Veuillez trouver en pièce jointe le fichier intervention" & Chr(10) & Chr(13)

contenu = contenu & "Cordialement" & Chr(10) & Chr(13)

contenu = contenu & "Service PCC"

MonMessage.Body = contenu

'ici on provoque l'envoie du mail et de sa pièce jointe'

MonMessage.Send

'réinitialisation de la mlessagerie'

Set MaMessagerie = Nothing

'boite de dialogie qui confirme l'envoie du massage et de la pièce jointe'

MsgBox "Votre mail a bien été envoyé et enregistré"

Range("M1").Value = "Fichier envoyé"

End Sub

Pas très clair cette histoire...

Si tu veux n'envoyer ton mail que si H4 est rempli tu peux faire:

If Range("H4") = "" Then MsgBox "XXXXX" : Exit Sub

De la même façon que ce que tu as fait sur M1.

Bonjour,

merci d’être penché sur mon problème, mais c'est bon c'est résolu , je te met la macro pour info.

Par contre est ce possible que le fichier soi envoyé en format PDF au lieu Excel.

merci et bonne journée

Sub envoiClasseur()

Dim Fichier As Variant

'ici on demande d'utiliser Outlook comme client de messagerie'

Dim MaMessagerie As Object

Dim MonMessage As Object

Set MaMessagerie = CreateObject("Outlook.application")

Set MonMessage = MaMessagerie.CreateItem(0)

If Range("M1") <> "" Then MsgBox "Fichier déjà envoyé ": Exit Sub

'Si H4 contient PCC alors

If Range("H4")="PCC" Then

'ici nous definissons les champs du mail'

'entre duillemet il faut indiquer les adresse mail'

MonMessage.To = "machin@truc.bidul"

'ici nous commencons la rédaction du mail'

MonMessage.Attachments.Add ActiveWorkbook.FullName

'sujet du mail'

MonMessage = "Signalement PCC"

'Corps du mail'

contenu = "Bonjour,"

contenu = contenu & Chr(10) & Chr(13)

'les caractèrs Chr indiquent un saut de ligne'

contenu = contenu & "Veuillez trouver en pièce jointe le fichier intervention" & Chr(10) & Chr(13)

contenu = contenu & "Cordialement" & Chr(10) & Chr(13)

contenu = contenu & "Service PCC"

MonMessage.Body = contenu

'ici on provoque l'envoie du mail et de sa pièce jointe'

MonMessage.Send

'réinitialisation de la mlessagerie'

Set MaMessagerie = Nothing

'boite de dialogie qui confirme l'envoie du massage et de la pièce jointe'

MsgBox "Votre mail a bien été envoyé et enregistré"

Range("M1").Value = "Fichier envoyé"

Else 'Sinon PCC manquant alors message

Msgbox("PCC manquant")

End if

End Sub

 
'Construction du chemin du fichier
chemin_pdf = Environ("temp") & "\fichier.pdf"
'Export en pdf
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin_pdf
'code d'attachement dans le mail
MonMessage.Attachments.Add chemin_pdf
'suppression du fichier
Kill chemin_pdf

Bonjour a toi,

merci pour ton retour, pardonne moi pour mon ignorance, mais ou dois-je intégrer ces ligne de commandes.par avance merci a toi .

bonne journée et surtout fait attention a toi

Sub envoiClasseur()
Dim Fichier As Variant

'ici on demande d'utiliser Outlook comme client de messagerie'
Dim MaMessagerie As Object
Dim MonMessage As Object
Set MaMessagerie = CreateObject("Outlook.application")
Set MonMessage = MaMessagerie.CreateItem(0)
If Range("M1") <> "" Then MsgBox "Fichier déjà envoyé ": Exit Sub
'Si H4 contient PCC alors
If Range("H4")="PCC" Then
'ici nous definissons les champs du mail'
'entre duillemet il faut indiquer les adresse mail'
MonMessage.To = "machin@truc.bidul"

'Construction du chemin du fichier
chemin_pdf = Environ("temp") & "\fichier.pdf"
'Export en pdf
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin_pdf
'code d'attachement dans le mail
MonMessage.Attachments.Add chemin_pdf
'suppression du fichier
Kill chemin_pdf

'sujet du mail'
MonMessage = "Signalement PCC"

'Corps du mail'
contenu = "Bonjour,"
contenu = contenu & Chr(10) & Chr(13)

'les caractèrs Chr indiquent un saut de ligne'
contenu = contenu & "Veuillez trouver en pièce jointe le fichier intervention" & Chr(10) & Chr(13)
contenu = contenu & "Cordialement" & Chr(10) & Chr(13)
contenu = contenu & "Service PCC"
MonMessage.Body = contenu

'ici on provoque l'envoie du mail et de sa pièce jointe'
MonMessage.Send

'réinitialisation de la mlessagerie'
Set MaMessagerie = Nothing

'boite de dialogie qui confirme l'envoie du massage et de la pièce jointe'
MsgBox "Votre mail a bien été envoyé et enregistré"

Range("M1").Value = "Fichier envoyé"
Else 'Sinon PCC manquant alors message
Msgbox("PCC manquant")
End if
End Sub

Comment te le dire, hummm, un très grand merci avec toute ma reconnaissance.C'est vraiment nickel.En ces moment de confinement, heureusement qu'il y a des personnes comme toi pour nous permettre d'avancer dans nos projets.

prend bien soins de toi.

Rechercher des sujets similaires à "envoie mail vba condition"