Bonjour à tous,
J'aurais besoin d'aide pour créer un code VBA me permettant d'envoyer des mails d'alerte en fonction de la valeur dans différentes colonnes.
Pour mieux comprendre :
J'ai 5 colonnes, chacune me permet de suivre un paramètre. Ces paramètres ont des valeurs limites à ne pas dépasser. J'aimerais donc, que lorsque une nouvelle valeur dans une des colonnes est ajoutée, (si elle est pas conforme), avoir un envoie de mail automatique. Et ceux pour chacune des 5 colonnes.
Pour le moment j'ai ce code, qui fonctionne mais seulement pour une colonne. Si j'accumule en copiant/collant ce code en dessous en changeant uniquement la plage à rechercher et la limite qui déclenche l'envoie du mail cela ne fonctionne plus. Un message d'erreur apparait : "Erreur de compilation : Nom anbigu détexté : Worksheet_change".
Dim xRg As Range
'Update by Extendoffice 2018/3/7
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("H1:H1000000"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value < 60 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2"
On Error Resume Next
With xOutMail
.To = "aa@aa.fr"
.CC = ""
.BCC = ""
.Subject = ""
.Body = ""
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Pourriez vous m'aider à trouver comment accumuler ces besoin ?
PS : Je suis novice et je ne comprends pas forcément tout le code que j'ai utilisé. Si vous pouviez m'aider à trouver quelques chose de clé en main :)