Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1918 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro avec mail automatique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro avec mail automatique

n°2224571
stayssou
Posté le 09-04-2014 à 11:31:23  profilanswer
 

Bonjour à tous,
 
J'aimerais pouvoir faire une macro sous Excel qui enverrai un email automatiquement dès qu'une cellule atteint une certaine valeur.
 
Je m'explique : j'ai un fichier Excel qui gère les stocks de fourniture . J'aimerais que dès que la cellule avec le stock restant devient infèrieur à 2 par exemple, Excel envoi un mail automatiquement.
Je suis débutante en matière de macro et je ne m'en sort pas.
 
Merci d'avance pour d'éventuelles pistes.

mood
Publicité
Posté le 09-04-2014 à 11:31:23  profilanswer
 

n°2224580
rufo
Pas me confondre avec Lycos!
Posté le 09-04-2014 à 12:56:04  profilanswer
 

J'avais fait une macro Excel qui envoyait un mail via LotusNotes en passant par le composant OLE.
Si tu es sûr de l'environnement d'exécution et que tu sais quelle messagerie est dispo (Outlook, Thunderbird...) sur le poste où sera exécutée la macro, tu peux tenter ça.
 
Autre solution que j'avais fait aussi. Tu héberges un script php (ou Python, asp, Perl...) sur un serveur web accessible depuis les postes clients où sera exécutée la macro et tu fais une requête sur l'url du script (de type GET donc) et c'est le script qui se chargera d'envoyer le mail ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2224581
rufo
Pas me confondre avec Lycos!
Posté le 09-04-2014 à 12:58:47  profilanswer
 

Pour LotusNote :

Code :
  1. 'Plus d'envoi de mail car plus de Lotus Notes : maintenant, le fichier est monitoré par CJA
  2.            'On envoie une notification pour dire que le fichier de référence a été modifié
  3.            'ouvre une session mail Lotus Notes et configure le mail à envoyer
  4.            'Set oSession = CreateObject("Notes.NotesSession" )
  5.            'Set oDB = oSession.GetDatabase("", "" )
  6.            'Call oDB.OpenMail
  7.            'Set oDoc = oDB.CreateDocument
  8.            'Call oDoc.ReplaceItemValue("SendTo", "test@toto.fr" ) 'regler ici le nom du destinataire
  9.            'Call oDoc.ReplaceItemValue("Subject", "Fichier modifié!" )
  10.            'Le corps du mail
  11.            'Set oRichTextItem = oDoc.CreateRichTextItem("Body" )
  12.            'sMsg = "Le fichier a été modifié. Il faut le publier." & vbCrLf & vbCrLf
  13.            'Call oRichTextItem.AppendText(sMsg)
  14.            'envoi
  15.            'oDoc.SaveMessageOnSend = True
  16.            'Call oDoc.Send(False)
  17.            'Set oSession = Nothing


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2224582
rufo
Pas me confondre avec Lycos!
Posté le 09-04-2014 à 13:02:45  profilanswer
 

Via un script php :

Code :
  1. Set oHttp = CreateObject("MSXML2.XMLHTTP" )
  2. sUser = Environ("Username" )
  3. sURL = "http://serveur/MailMacroExcel/Sendmail.php?username=" & sUser
  4.    
  5. oHttp.Open "GET", sURL, False
  6. oHttp.Send
  7. sHTML = oHttp.responseText
  8.    
  9. Set oHttp = Nothing


 
Et dans le fichier php, tu fais un truc du genre :

Code :
  1. $Username = '';
  2.  if ((isset($_GET['username'])) && (!empty($_GET['username'])))
  3.  {
  4.      // Name of the user who has modified the file
  5.      $Username = strip_tags(trim($_GET['username']));
  6.  }
  7.  
  8.  // Header of the e-mail
  9.  $To = 'test@toto.fr';
  10.  
  11.  $Subject = "MAJ du fichier!";
  12.  $Splitter = "-----=".md5(uniqid(rand()));
  13.  
  14.  $Header = "MIME-Version: 1.0\r\n";
  15.  $Header .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
  16.  $Header .= "From: serveur@toto.fr\r\n";
  17.  $Header .= "\r\n";
  18.  
  19.  // Message texte
  20.  $msg .= "--$Splitter\r\n";
  21.  $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  22.  $msg .= "Content-Transfer-Encoding:8bit\r\n";
  23.  $msg .= "\r\n";
  24.  
  25.  $BodyMsg = "<html>\r\n<body>\r\n";
  26.  $BodyMsg .= "Le fichier a été modifié.<br />\r\n";
  27.  $BodyMsg .= "<br />\r\nIl faut le publier.<br />\r\n<br />\r\n";
  28.  $BodyMsg .= "Le fichier a été modifié par : <em>$Username</em>.\r\n";
  29.  $BodyMsg .= "</body>\r\n</html>\r\n";
  30.  
  31.  $msg .= "$BodyMsg\r\n";
  32.  
  33.  // End header
  34.  $msg .= "--$Splitter--\r\n";
  35.  
  36.  mail($To, $Subject, $msg, $Header);


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro avec mail automatique

 

Sujets relatifs
Macro cpier/coller differents onglets[JavaScript] List deroulante liée ave un remplissage automatique
macro dans power point. Qui sait ?Mail avec piece jointe fontion parcourir
probleme sur replace dans une macrotélécharger un fichier CSV d'une manière automatique
Generer un mail avec pj pour chaque destinataireBatch création automatique dossier (xcopy)
Ping+Mail[AIDE] code HTML/PHP formulaire avec envoi mail automatique
Plus de sujets relatifs à : Macro avec mail automatique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR