Macro envoi de mail conditionné

Fermé
philoo - 21 janv. 2022 à 09:20
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 - 24 janv. 2022 à 17:28
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
A voir également:

9 réponses

f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
21 janv. 2022 à 10:22
Bonjour,

Vous connaissez la programmation VBA Excel ou pas?

Pour envoi @Mail:
https://excel-malin.com/codes-sources-vba/envoyer-un-email-avec-excel/
0
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
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
24 janv. 2022 à 10:36
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
Modifié le 24 janv. 2022 à 11:43
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
je préférai avec un bouton.
Merci
0
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
Modifié le 24 janv. 2022 à 16:56
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
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
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 708
Modifié le 24 janv. 2022 à 17:56
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