Macro envoi de mail conditionné

philoo -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
bonjour, je cherche le code pour
si valeur cellule B14 = "passer commande" et B15= "ok" alors envoyer mail "passer commande A"
si valeur cellule B14 = "ok" et B15= "passer commande" alors envoyer mail "passer commande B"
si valeur cellule B14 = "passe commande" et B15= "passer commande" alors envoyer mail "passer commande C"
si valeur cellule B14 = "ok" et B15= "ok" alors ne rien faire

9 réponses

  1. philoo
     
    bonjour, j'avais effectivement trouvé ce site qui propose différents cas d'envoi de mail mais aucun de ces exemples ne répond à mon besoin : l'envoi d'un mail spécifique au contenu de certaines cellules.
    Merci
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    exemples ne répond à mon besoin
    Certes, certes, vous n'en trouvez aucun. C'est a vous de completer pour votre besoin.

    Vous n'avez as repondu a la question sur le VBA
    0
  3. philoo
     
    On ne peut pas dire que je connaisse le VBA ...je "bricole" en combinant des exemples plus ou moins proches de mon besoin mais je ne parviens pas à écrire le code correspondant à mon attente.
    Merci
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    L'envoi doit etre automatique ou un bouton pour envoi

    envoyer mail "passer commande A"
    Pouvez expliquer

    Le changement de texte des cellules est fait comment?
    0
  6. philoo
     
    je préférai avec un bouton.
    Merci
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Ok, je vous fais ca.

    Par contre l'envoi @Mail, vous avez un code.
    Je fais les test cellules et vous raccorderez l'envoi.

    Une facon de faire avec les infos que vous donnez

    Sub Bouton2_Cliquer()
        With Worksheets("feuil1")
           If .Range("B14") = "passer commande" And .Range("B15") = "Ok" Then
               Call Envoi_Mail("passer commande A")
           ElseIf .Range("B14") = "Ok" And .Range("B15") = "passer commande" Then
               Call Envoi_Mail("passer commande B")
           ElseIf .Range("B14") = "passer commande" And .Range("B15") = "passer commande" Then
               Call Envoi_Mail("passer commande C")
           End If
        End With
    End Sub
    
    Sub Envoi_Mail(Commande)
        'code pour envoi @Mail
    
    End Sub
    0
  8. philoo
     
    j'avais fais ça mais cela m'envoi tous les mails sans distinguer les conditions

    sur la Feuil 1(Feuil1)

    Sub Button1_Click()
    Call envoimailA
    Call envoimailB
    Call envoimailC
    End Sub

    sur module 1

    Sub envoimailA()
    Dim LeMailcovid As Variant
    Dim ligne As Integer

    If Range("d5") = "passer commande" And Range("e5") = "ok" Then
    End If

    Set LeMailcovidA = CreateObject("Outlook.Application") 'creation d'un objet outlook
    With LeMailcovidA.CreateItem(olMailItem)
    .Subject = "mail ffp2 en stock d'alerte"
    .To = Range("c10")
    .CC = Range("c11")
    .Body = "les stoks de masque ffp2 arrivent au seuil de rupture"
    .display

    End With

    End Sub

    sur module 2

    Sub envoimailB()
    Dim LeMailcovid As Variant
    Dim ligne As Integer

    If Range("d5") = "ok" And Range("e5") = "passer commande" Then
    End If
    Set LeMailcovidB = CreateObject("Outlook.Application") 'creation d'un objet outlook
    With LeMailcovidB.CreateItem(olMailItem)
    .Subject = "mail chirurgicaux adultes en stock d'alerte"
    .To = Range("c10")
    .CC = Range("c11")
    .Body = "le stock des masques chirurgicaux arrivent au seuil de rupture"
    .display

    End With
    End Sub

    sur module 3

    Sub envoimailC()
    Dim LeMailcovid As Variant
    Dim ligne As Integer

    If Range("d5") = "ok" And Range("e5") = "passer commande" Then
    End If

    Set LeMailcovidC = CreateObject("Outlook.Application") 'creation d'un objet outlook
    With LeMailcovidC.CreateItem(olMailItem)
    .Subject = "mail chirurgicaux adultes en stock d'alerte"
    .To = Range("c10")
    .CC = Range("c11")
    .Body = "les stoks de masques ffp2 et chirurgicax adultes arrivent au seuil de rupture"
    .display

    End With

    End Sub
    0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    tous les mails sans distinguer les conditions
    Tout a fait Thierry

    Et maintenant ca fait quoi avec le code que j'ai mis a dispo?

    Au fait, une seule procedure suffit pour l'envoi A,B ou C

    Sub Bouton2_Cliquer()
        With Worksheets("feuil1")
           If .Range("B14") = "passer commande" And .Range("B15") = "Ok" Then
               Call Envoi_Mail(0)
           ElseIf .Range("B14") = "Ok" And .Range("B15") = "passer commande" Then
               Call Envoi_Mail(1)
           ElseIf .Range("B14") = "passer commande" And .Range("B15") = "passer commande" Then
               Call Envoi_Mail(2)
           End If
        End With
    End Sub
    
    Sub Envoi_Mail(Commande)
        Dim LeMailcovid As Object
        Dim ligne As Integer
        
        TS = Array("mail ffp2 en stock d'alerte", "mail chirurgicaux adultes en stock d'alerte", "mail chirurgicaux adultes en stock d'alerte")
        TB = Array("les stocks de masque ffp2 arrivent au seuil de rupture", "le stock des masques chirurgicaux arrivent au seuil de rupture", "les stocks de masques ffp2 et chirurgicaux adultes arrivent au seuil de rupture")
        
        Set LeMailcovidA = CreateObject("Outlook.Application") 'creation d'un objet outlook
        With LeMailcovidA.CreateItem(olMailItem)
            .Subject = TS(Commande)
            .To = Range("C10")
            .CC = Range("C11")
            .Body = TB(Commande)
            .display
        End With
        Set LeMailcovidA = Nothing
    End Sub
    0