Création d'une macro pour envoyer un mail

Fermé
elodie - 2 févr. 2016 à 10:40
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 3 févr. 2016 à 10:51
Bonjour,

J'aimerais créer une macro pour envoyer un mail automatiquement lorsqu'une cellule remplie une condition.

Je m'explique. J'ai une cellule avec une condition si la date est inférieur à 3 mois alors le texte "passer commande" s"affiche si non le texte est "ok". Lorsque cette cellule passe en "passer commande" je veux qu'un mail soit automatiquement envoyer.

Comment puis-je faire ?

Merci d'avance pour vos réponses.



A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
2 févr. 2016 à 13:16
Bonjour,

Envoi via Outlook, Gmail ou rien (pas de trace des envois) ??
0
Pardon, j'ai oublié de préciser, c'est par outlook
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > elodie
2 févr. 2016 à 14:47
Re,

A vous de continuer ou a demander car pas de precision sur de ce que doit contenir le @Mail

'code VBA de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    'plage a adapter:
    If Not Application.Intersect(Target, Range("A2: A20")) Is Nothing And Target = "passer commande" Then
        'appel sub routine envoi mail via Outlook
        Envoidu_MailAutomatique
    End If
End Sub


'Code dans un Module
Sub Envoidu_MailAutomatique()
    'On Error Resume Next
    ' Envoie automatiquement le mail lorsque le délai de livraison est arrivé,
    '
    ' Touche de raccourci du clavier: Ctrl+e
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro
    Dim Plage_DL As Range
    Dim cel As Range

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    strbody = "texte du corps"
    With OutMail
        .To = "xxxxxxxxx@xxxx.xx"          ' a modifier
        .CC = ""                                      ' a modifier si besoin
        .BCC = ""                                    ' a modifier si besoin
        .Subject = "Texte du sujet"
        .Body = strbody
        'piece-jointe si existe
        '.Attachments.Add ("C:\test.txt")
        'ouverture de Outlook et clic sur envoyer
        '.Display
        'sans ouverture de Outlook
        .Send
    End With
    'attente envoi @Mail par Outlook
    'Application.Wait Application.Wait(Now + TimeValue("0:00:01"))
    Set OutMail = Nothing
    Set OutApp = Nothing
    
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
2 févr. 2016 à 14:51
Bonjour ,

Il me semble qu'il faut activer la référence Outlook dans vba excel.(Sauf erreur de ma part)

cordialement,
0
elodie > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
2 févr. 2016 à 14:54
Vous êtes vraiment génial. Je vous remercie de votre aide, cela me touche beaucoup. Je suis vraiment novice pour tout ce qui est macro.

Donc déjà ce qui est en vert doit être supprimé ?
0
elodie > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
2 févr. 2016 à 15:04
Ha mais c'est génial je reçoit le mail !!!!!!!!!!!!!!!!!! par contre je suis obliger d'aller dans l'onglet macro et cliquer sur la macro pour que le mail arrive. il ne peut pas s'envoyer quand j'ouvre le document ???
0