Envoi Mail sous Conditions

Bonjour à tous,

Je cherche à envoyer un mail automatique via macro VBA sous conditions.

Je m'explique :

Dans l'onglet "Stock - Nouvelle Sortie", si le Stock Actuel (en colonne I) est inférieur au Seuil pour l'Alerte (en colonne H), un mail automatique est envoyé au Mail pour l'Alerte (en colonne G).

Voici l'état de ma matrice actuel :

Private Sub Worksheet_Change(ByVal Target As Range)

If Cells(Target.Row, 9).Value < Cells(Target.Row, 8).Value Then SendEmail
Sub SendEmail()
'
' SendEmail Macro
'

Dim olApp As Outlook.Application
Set olApp = CreateObject("outlook.application")

        Dim olMail As Outlook.MailItem
        Set olMail = olApp.CreateItem(olMailItem)

    With olMail

  .To = "Cells(target.Row,7)"
  .Subject = " Alerte Commande " & Format(Date - 1, "dd-mm-yyyy")
  .Body = "Une commande de" & Cells(Target.Row, 5) & "doit-être effectué"

  .Attachments.Add "X:\Inventaire.xls"

   .send

    End With

End Sub

Mais cela ne marche pas. Je crois que la macro ne reconnait pas les cellules dont je parle.

Ci-joint, l'excel au complet.

Merci d'avance et de votre aide, toujours très appreciée.

Passez une excellente journée;

Cordialement,

32inventaire.xlsm (544.55 Ko)

Bonjour à tous,

Je up ce message, car la problématique devient de plus en plus importante et je n'ai actuellement aucune autre solution.

Merci encore de votre temps et de votre aide.

Cordialement,

Salut,

J'ai eu le même besoin que toi et j'ai trouvé ça qui marche plutôt bien a part que tu est obligé de cliqué sur un bouton pour que le mail s'envoi:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 14 And Target.Value = "ALERTE STOCK MINI" Then Send_Email_Using_VBA

End Sub
Sub Send_Email_Using_VBA()
Dim Email_Subject, Email_Send_From, Email_Send_To, Email_Cc, Email_Bcc, Email_Body As String
Dim Mail_Object, Mail_Single As Variant

    Email_Subject = "ALERTE STOCK MINI"
    Email_Send_From = "......................................."
    Email_Send_To = "...............@.............................."
    Email_Body = "presque!!!!"

On Error GoTo debugs
Set Mail_Object = CreateObject("Outlook.Application")
Set Mail_Single = Mail_Object.CreateItem(0)
With Mail_Single
.Subject = Email_Subject
.To = Email_Send_To
.cc = Email_Cc
.BCC = Email_Bcc
.Body = Email_Body
.send
End With
debugs:
If Err.Description <> "" Then MsgBox Err.Description
End Sub

En espérant que cela te soit utile

Cordialement

Rechercher des sujets similaires à "envoi mail conditions"