Envois d'un mail automatique en fonction d'un tableau excel

Fermé
ielona - Modifié le 6 août 2020 à 12:31
m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 - 6 août 2020 à 19:24
Bonjour,

J'ai un tableau de gestion des stocks et je souhaiterais que lorsque le niveau des stocks atteints un certain seuil un mail s'envoi de façon automatique.

en gros je voudrais que si les valeurs de C5 à O5 <= X alors envois d'un mail, alerte stock papier
Et que si les valeurs de P5 à W5 <= X alors envois d'un mail, alerte stock enveloppe.

Je n'ai aucune base en informatique, j'ai essayée de suivre ce qu'il ce dit sur d'autres forum mais je n'y arrive pas je ne comprends pas, je ne vois même pas ou je dois rentrer ce code. J'ai ajouter la référence VBA : Microsoft Outlook XO Object library.
A voir également:

1 réponse

m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
Modifié le 6 août 2020 à 19:37
Bonjour

Tu as besoin d'une macro événementielle qui va se déclencher lors d'un événement, et donc lors de la modification de la ou des cellules. Cette macro doit se trouver dans le code de la feuille et non pas dans un module. Pour cela tu fais un clic droit sur l'onglet de la feuille et tu choisis Visualiser le code.

Puis tu peux copier coller le code suivant qui fonctionne avec Outlook. Si c'est pas Outlook, je ne sais pas comment ça peut fonctionner.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C5:O5", "p5:w5")) Is Nothing Then
If Target <= x Then
Dim ol As Object, monItem As Object
Set ol = CreateObject("outlook.application")
Set monItem = ol.CreateItem(0)
monItem.To = "adresse_destinataire@xxxx.com "
monItem.Subject = "Alerte stock papier"
monItem.Body = "Bonjour" & Chr(13) & Chr(13) & "blabla"
monItem.Send
Set ol = Nothing
MsgBox "Mail envoyé ! "
End If
End If
End Sub


A noter que je n'ai pas compris si le mail doit partir dès lors qu'une cellule est en dessous de la valeur, ou bien si c'est le total. Dans le deuxième cas, il faut juste modifier la macro.

m@rina



0