Envoyer un mail suite à un seuil de stock

Bonjour à tous,

j'ai consulté beaucoup de post sur le sujet mais j'ai du mal à le mettre en pratique.

Voici ma demande : A partir du fichier en PJ, lorsque un des stocks de la partie concernant le papier est en dessous de 10 un mail m'envoie automatiquement (faudouy@gmail.com, moi) pour me signaler qu’une commande papier est à prévoir.

Et pour la partie enveloppe il faudrait que le mail s’envoie lorsque les stocks sont inférieurs à 5.

Pour le moment j’ai seulement ajouté la référence VBA : MicrosoftOutlookX,0 Obect Library.

Merci d'avance pour votre collaboration.

Bonjour Faudouy

Voici ton fichier avec le code qui va bien pour la 1ère feuille

@+

Bonjour,

merci Bruno pour ton aide, j'ai ce fichier lorsque j'enregistre le fichier :

image

Si je change le stock de départ et que je mets en C16 le chiffre 3, le stock actuel passe donc à 9, cela devrait déclencher le mail via Outlook non ?

image

Re,

Le message, est un message de sécurité sur les données personnelles

Dans les Options d'Excel -> Centre de gestion -> Options de confidentialité -> décochez : Supprimer les informations personnelles des propriétés du fichier lors de l'enregistrement.

Désolé, je ne sais pas pourquoi, je suis parti sur un message global à l'ouverture du fichier, je trouvais ça plus pratique

Je vais modifier le fichier en conséquence, le voici.

Il restera à mettre en forme le message

Edit : désolé pour le mail que vous avez dû recevoir j'ai mis le destinataire et le send en commentaire

@+

Re,

merci.

en testant, si je suis supérieur au stock de base, un message est qd même envoyé

J'ai testé en modifiant le stock initial en A4 et mis en C16, 1, du coup je suis toujours au dessus de 10 (stock mini) et outlook m'envoie qd meme un mail... Il faut qu'il envoie l'alerte uniquement si c'est inférieur au sens strict à 9.

image

Re,

Désolé, je vais trop vite... Sinon j'ai bien compris la demande

C'est que je ne teste pas si le message est vide ou non, voici le code correcte

Sub VerifStock(Sht As Worksheet, Col As Long)
  Dim Msg As String
  ' Vérifier quel stock
  Select Case True
  ' Vérifier le stock de papier
  Case Col < Sht.Range("P5").Column
    ' Si le stock est inférieur à 10
    If Sht.Cells(5, Col) < 10 Then
      ' Sil Message ne contient rien
      If Msg = "" Then
        Msg = "Attention, en papier il va manquer :<br>"
      End If
      ' Si colonne C ou I
      If Col = 3 Or Col = 9 Then
        Msg = Msg & Sht.Cells(1, Col) & " - Stock : " & Sht.Cells(5, Col) & "<br>"
      Else
        If Col <= Sht.Range("I1").Column Then
          Msg = Msg & Sht.Range("D1") & "/" & Sht.Cells(2, Col) & " - Stock : " & Sht.Cells(5, Col) & "<br>"
        Else
          Msg = Msg & Sht.Range("J1") & "/" & Sht.Cells(2, Col) & " - Stock : " & Sht.Cells(5, Col) & "<br>"
        End If
      End If
    End If

  ' Vérifier le stock d'enveloppe
  Case Col > Sht.Range("O5").Column
    ' Si le stocke est inéferieur à 5
    If Sht.Cells(5, Col) < 5 Then
      ' Si le message ne contient pas déjà d'enveloppe
      If InStr(1, Msg, "Env.") = 0 Then
        Msg = Msg & "Attention, en enveloppe il va manquer :<br>"
      End If
      Msg = Msg & Sht.Cells(1, Col) & " - Stock : " & Sht.Cells(5, Col) & "<br>"
    End If
  End Select
  '
  ' Envoyer un mail si Msg non vide
  If Msg <> "" Then
    Dim ObjOut As Object, ObjMail As Object, sTxtBody As String
    ' En cas d'erreur
    On Error Resume Next
    ' Création d'une instance Outlook pour envoyer un mail
    Set ObjOut = CreateObject("Outlook.Application")
    Set ObjMail = ObjOut.CreateItem(0)
    With ObjMail
      .Display
      sTxtBody = .HTMLBody
      '.To = "faudouy@gmail.com"
      .Subject = "ATTENTION ! Stock faible"
      .HTMLBody = "F. AUDOY bonjour,<BR><BR>" _
        & Msg & "<BR>" & sTxtBody
      '.Send
    End With
    ' Effacer les variables objets
    Set ObjOut = Nothing: Set ObjMail = Nothing
    '
    On Error GoTo 0
  End If
End Sub

Ceci dit une petite analyse de ta part aurait pu suffire

@+

Merci bcp Bruno, désolé mais je ne suis pas très doué en développement...

merci également pour ton code commenté.

Bonne soirée,

Rechercher des sujets similaires à "envoyer mail suite seuil stock"