Bonjour,
J'ai créé une feuille excel pour gérer un stock, a laquelle j'ai mis un code pour un appel de macro:
En fonction d'un certain seuil, le code appel la macro qui envoie un mail, cela fonctionne bien sur un item.
Mais quand deux item correspondent aux critères du code de la feuille, la macro génère un mail, mais que sur le premier item.
ci dessous le code et la macro
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("e1") = "passercommande" Then
Call macro1
End If
If Range("e2") = "passercommande" Then
Call macro2
End If
If Range("e3") = "passercommande" Then
Call macro3
End If
If Range("e4") = "passercommande" Then
Call macro4
End If
If Range("e5") = "passercommande" Then
Call macro5
End If
If Range("e6") = "passercommande" Then
Call macro6
End If
End Sub
Sub macro1()
Dim Msg, Style, Title, Response, MyString
If Not ActiveWorkbook.Saved Then
Msg = "Souhaitez-vous enregistrer les modifications?"
Style = vbYesNo
Title = "Des commandes sont à passer"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
ActiveWorkbook.Save
Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "destinataire1@fai.fr"
myItem.Subject = "commandes a passer"
myItem.Body = "Bonjour, " & Chr(10) & "des commandes sont a passer pour les bretelles"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "XXXXXX@XXXXXX;XXXXXXXX@XXXXXX"
myItem.Subject = "Commande de materiel"
myItem.Body = "Bonjour, " & Chr(10) & "Merci de passer commande de bretelles de 1M , voir le détail dans le fichier joint"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set ol = Nothing
End If
End If
End Sub
Sub macro2()
Dim Msg, Style, Title, Response, MyString
If Not ActiveWorkbook.Saved Then
Msg = "Souhaitez-vous enregistrer les modifications?"
Style = vbYesNo
Title = "Des commandes sont à passer"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
ActiveWorkbook.Save
Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "destinataire1@fai.fr"
myItem.Subject = "commandes a passer"
myItem.Body = "Bonjour, " & Chr(10) & "des commandes sont a passer pour les bretelles"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "XXXXXXXX@XXXXXX;XXXXXXX@XXXXXXX"
myItem.Subject = "Commande de materiel"
myItem.Body = "Bonjour, " & Chr(10) & "Merci de passer commande de bretelles de 1.50M , voir le détail dans le fichier joint"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set ol = Nothing
End If
End If
End Sub
Sub macro3()
Dim Msg, Style, Title, Response, MyString
If Not ActiveWorkbook.Saved Then
Msg = "Souhaitez-vous enregistrer les modifications?"
Style = vbYesNo
Title = "Des commandes sont à passer"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
ActiveWorkbook.Save
Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "destinataire1@fai.fr"
myItem.Subject = "commandes a passer"
myItem.Body = "Bonjour, " & Chr(10) & "des commandes sont a passer pour les bretelles"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "XXXXXXXXXXX@XXXXXX;XXXXXXX@XXXXXX"
myItem.Subject = "Commande de materiel"
myItem.Body = "Bonjour, " & Chr(10) & "Merci de passer commande de bretelles de 2M , voir le détail dans le fichier joint"
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
Set ol = Nothing
End If
End If
End Sub
ETC.........
Merci de votre aide.
Partager