Création d'une macro pour envoyer un mail

elodie -  
f894009 Messages postés 17417 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.

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

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

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

      cordialement,
      0
    4. elodie > f894009 Messages postés 17417 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
    5. elodie > f894009 Messages postés 17417 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