Création d'une macro pour envoyer un mail

elodie -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Envoi via Outlook, Gmail ou rien (pas de trace des envois) ??
0
elodie
 
Pardon, j'ai oublié de préciser, c'est par outlook
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > elodie
 
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   Statut Membre Dernière intervention   68
 
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 17277 Date d'inscription   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention  
 
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