Macro reponse automatique outlook 2003 en vba
triwix
Messages postés
296
Date d'inscription
Statut
Membre
Dernière intervention
-
triwix -
triwix -
Bonjour,
Je suis très novice en VBA et surtout sur outlook, donc je souhaiterait une macro sui me fasse gagner beaucoup de temps.
Je vous explique :
Je dois détecter si dans le sujet du message il y a le mot « Bravo » et répondre au mail avec un certain « texte » prédéfini, mais la où ça se complique c'est que je dois trouver l'adresse du destinataire dans le contenu du mail et non répondre à l'expéditeur du message.
Tout cela en automatique dès réception du message.
J'espère que ma requête est compréhensible.
Je pensait chercher le @ dans le message et définir la taille de l'adresse mail en cherchant l'espace au début et entré à la fin de l'adresse mais je ne sais pas comment faire dans une macro.
Je suis à votre disposition pour toute précision, si quelqu'un peut me dépanner ça m'oterait une grosse épine du pied.
Merci
Je suis très novice en VBA et surtout sur outlook, donc je souhaiterait une macro sui me fasse gagner beaucoup de temps.
Je vous explique :
Je dois détecter si dans le sujet du message il y a le mot « Bravo » et répondre au mail avec un certain « texte » prédéfini, mais la où ça se complique c'est que je dois trouver l'adresse du destinataire dans le contenu du mail et non répondre à l'expéditeur du message.
Tout cela en automatique dès réception du message.
J'espère que ma requête est compréhensible.
Je pensait chercher le @ dans le message et définir la taille de l'adresse mail en cherchant l'espace au début et entré à la fin de l'adresse mais je ne sais pas comment faire dans une macro.
Je suis à votre disposition pour toute précision, si quelqu'un peut me dépanner ça m'oterait une grosse épine du pied.
Merci
A voir également:
- Macro reponse automatique outlook 2003 en vba
- Réponse automatique thunderbird - Guide
- Réponse automatique gmail - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Réponse automatique outlook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
27 réponses
ma question à peu de succès,
bonne soirée à tous et à toutes, ne vous couchez pas trop tard, demain boulot!
bonne soirée à tous et à toutes, ne vous couchez pas trop tard, demain boulot!
Bonjour,
Donc vous vous mettez entre l'expéditeur et le destinaire du message ... est-ce bien cela ?
Donc vous vous mettez entre l'expéditeur et le destinaire du message ... est-ce bien cela ?
Bien le bonsoir Le Pingou,
Oui en gros c'est cela j'ai une application automatique qui m'envoie les coordonnées du client et je souhaiterait automatiquement envoyer un mail à cette personne lui indiquant la marche à suivre pour recevoir son colis en bon état et quoi faire au cas ou il serait détérioré.
Il n'y a pas de secret j'envoie des oeufs à couver par transporteur, donc les conseils sont nombreux.
Merci et bonne soirée
Oui en gros c'est cela j'ai une application automatique qui m'envoie les coordonnées du client et je souhaiterait automatiquement envoyer un mail à cette personne lui indiquant la marche à suivre pour recevoir son colis en bon état et quoi faire au cas ou il serait détérioré.
Il n'y a pas de secret j'envoie des oeufs à couver par transporteur, donc les conseils sont nombreux.
Merci et bonne soirée
Bonsoir, j'aimerai bien connaître quelqu'un qui maîtrise bien Visual Basic,
j'ai un projet à faire là dessus , mé je ne sais pas comment ça fonctionne, j'ai essayé de faire une auto-formation tout en lisant klk articles sur VB , mé j'arrive pas puisk ce qu'il nous demande n'a rien avoir avec
j'ai un projet à faire là dessus , mé je ne sais pas comment ça fonctionne, j'ai essayé de faire une auto-formation tout en lisant klk articles sur VB , mé j'arrive pas puisk ce qu'il nous demande n'a rien avoir avec
Bonjour,
Par ici peut-être : https://forums.commentcamarche.net/forum/affich-1394686-generer-une-reponse-automatique-avec-outlook#1
Par ici peut-être : https://forums.commentcamarche.net/forum/affich-1394686-generer-une-reponse-automatique-avec-outlook#1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Vous dites : j'ai une application automatique qui m'envoie les coordonnées du client
Sous qu'elle forme son ces données ?
Qu'elle est cette application automatique ?
Salutations.
Le Pingou
Vous dites : j'ai une application automatique qui m'envoie les coordonnées du client
Sous qu'elle forme son ces données ?
Qu'elle est cette application automatique ?
Salutations.
Le Pingou
Bonjour,
Je ne suis pas certain qu'un copier/coller va fonctionner, le mieux est de copier le message sur un document Word et de mettre ce dernier sur https://www.cjoint.com/ et poster le lien.
Je ne suis pas certain qu'un copier/coller va fonctionner, le mieux est de copier le message sur un document Word et de mettre ce dernier sur https://www.cjoint.com/ et poster le lien.
Bonsoir, voici le lien.
https://www.cjoint.com/?dFtTLXZOlN
J'ai rendu annonyme les coordonnée de la personne
Bonne soirée
https://www.cjoint.com/?dFtTLXZOlN
J'ai rendu annonyme les coordonnée de la personne
Bonne soirée
Bonjour,
Cette procédure récupère l'adresse et l'affiche ...
Salutations.
Le Pingou
Cette procédure récupère l'adresse et l'affiche ...
Sub ParcourirInBox() Dim oMail Dim myFolder As Folder Dim myOlApp As Outlook.Application Dim myNamespace As NameSpace Set myOlApp = Outlook.Application Set myNamespace = myOlApp.GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) For Each oMail In myFolder.Items Debug.Print oMail.Subject DebutAdresse = InStr(1, oMail.Body, "Pseudo (") FinAdresse = InStr(DebutAdresse, oMail.Body, ")") AdresseEmail = Mid(oMail.Body, DebutAdresse, FinAdresse - DebutAdresse) MsgBox "Adresse destinataire : " & AdresseEmail Next oMail End Sub--
Salutations.
Le Pingou
Super, merci pour ce travail je vais mettre en application.
Comment puis-je faire après pour envoyer un message automatique à ce destinataire à réception du message d'origine? le message est du genre: à réception du colis déballez le devant le livreur afin d'émettre les réserves de rigueur en cas de problème....
Merci bonne soirée
Comment puis-je faire après pour envoyer un message automatique à ce destinataire à réception du message d'origine? le message est du genre: à réception du colis déballez le devant le livreur afin d'émettre les réserves de rigueur en cas de problème....
Merci bonne soirée
Bonjour,
A vous de contrôler le bon fonctionnement de cette procédure car je ne travaille pas acec MSO Outlook !
Assurez-vous que l'adresse extraite soit correcte !
A vous de contrôler le bon fonctionnement de cette procédure car je ne travaille pas acec MSO Outlook !
Assurez-vous que l'adresse extraite soit correcte !
Sub ParcourirInBox() Dim oMail Dim myFolder As Folder Dim myOlApp As Outlook.Application Dim myNamespace As NameSpace Dim strHTML As String, LObjet As String Set myOlApp = Outlook.Application Set myNamespace = myOlApp.GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) For Each oMail In myFolder.Items Debug.Print oMail.Subject DebutAdresse = InStr(1, oMail.Body, "Pseudo (") FinAdresse = InStr(DebutAdresse, oMail.Body, ")") AdresseEmail = Mid(oMail.Body, DebutAdresse, FinAdresse - DebutAdresse) MsgBox "Adresse destinataire: " & AdresseEmail ' objet du courriel LObjet = "tâches urgentes à effectuer" ' corps du courriel strHTML = "" strHTML = strHTML & "<HEAD>" strHTML = strHTML & "<BODY>" strHTML = strHTML & "Bonjour ,<BR>" strHTML = strHTML & "<BR>" strHTML = strHTML & "<BR>... à réception du colis déballez le devant le livreur" strHTML = strHTML & "<BR> afin d'émettre les réserves de rigueur en cas de problème...." strHTML = strHTML & "<BR> ..........." strHTML = strHTML & "<BR>" strHTML = strHTML & "<BR>Avec mes respectueuses salutations." strHTML = strHTML & "</BODY>" strHTML = strHTML & "" ' préparation de l'envoi Set mailobj = CreateObject("Outlook.Application") Set mail = mailobj.CreateItem(olMailItem) mail.To = AdresseEmail mail.Subject = LObjet mail.HTMLBody = strHTML mail.Display ' pour afficher le courriel avant l'envoie '***** Activer [mail.send] uniquement lorsque tout est en ordre ' mail.Send ' ********* Next oMail End Sub
Bonjour,
Ouvrir l'éditeur Visual Basic : touche Alt+F11
Menue Outils clic Références
Contrôler que Microsoft Outlook 12.0 Object Library soit coché.
Si non, chercher dans la liste et cocher la référence puis OK.
Ouvrir l'éditeur Visual Basic : touche Alt+F11
Menue Outils clic Références
Contrôler que Microsoft Outlook 12.0 Object Library soit coché.
Si non, chercher dans la liste et cocher la référence puis OK.
Bonjour,
Si vous avez Microsoft Outlook 11.0 Object Library de coché, donc une version 2003 de MSO Outlook, mais en principe il ne doit pas y avoir de problème car je viens d'installer Outlook pour pouvoir tester ma procédure et tout fonctionne correctement.
Merci d'essayer avec le document joint, clic sur le bouton orange et que se passe-t-il ?
https://www.cjoint.com/?egwAefotDO
Si vous avez Microsoft Outlook 11.0 Object Library de coché, donc une version 2003 de MSO Outlook, mais en principe il ne doit pas y avoir de problème car je viens d'installer Outlook pour pouvoir tester ma procédure et tout fonctionne correctement.
Merci d'essayer avec le document joint, clic sur le bouton orange et que se passe-t-il ?
https://www.cjoint.com/?egwAefotDO
Bonjour,
Si c'est sur le document envoyé, faite le clic et dès que le message d'erreur apparait vous faites une copie d'écran (touche PRINT Screen) et vous coller l'image sur un doc vide que vous mettez sur https://www.cjoint.com/ et poster le lien.
Si c'est sur le document envoyé, faite le clic et dès que le message d'erreur apparait vous faites une copie d'écran (touche PRINT Screen) et vous coller l'image sur un doc vide que vous mettez sur https://www.cjoint.com/ et poster le lien.
Et voici le message d'erreur quand j'execute la macro sur mon outlook: https://www.cjoint.com/?egxzXO1LOJ
Bonne soirée
Bonne soirée
Bonjour,
Merci, essayer de supprimer le [As Folder] et vous laissez Dim myFolder.
Merci, essayer de supprimer le [As Folder] et vous laissez Dim myFolder.
OK, donc sur votre document l'erreur revient sur la ligne du dessous, mais dans outlook ça va plus loin jusqu'à une erreur 5, voyez: https://www.cjoint.com/?egxUzxHBAX
Bonjour,
Merci pour l'information.
Pour se soir c'est l'heure des braves ...
Demain je vais essayer de trouver les différences entre version 2003 et 2007 !
Je vous tiens au courant.
Merci pour l'information.
Pour se soir c'est l'heure des braves ...
Demain je vais essayer de trouver les différences entre version 2003 et 2007 !
Je vous tiens au courant.
Bonjour,
Remplacer la procédure par celle-ci après et lancer là.
Faite une copie d'écran des 2 messages qui s'affichent (clic OK pour passer du premier au deuxième).
Sub ParcourirInBox()
Dim oMail
Dim myFolder
Dim myOlApp As Outlook.Application
Dim myNamespace As NameSpace
Dim strHTML As String, LObjet As String
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
For Each oMail In myFolder.Items
Debug.Print oMail.Subject
debutAdresse = InStr(1, oMail.Body, "Pseudo (")
MsgBox "Position du début : " & debutAdresse
MsgBox "Corps de texte : " & oMail.Body
FinAdresse = InStr(debutAdresse, oMail.Body, ")")
AdresseEmail = Mid(oMail.Body, debutAdresse, FinAdresse - debutAdresse)
MsgBox "Adresse destinataire: " & AdresseEmail
Next oMail
End Sub
Remplacer la procédure par celle-ci après et lancer là.
Faite une copie d'écran des 2 messages qui s'affichent (clic OK pour passer du premier au deuxième).
Sub ParcourirInBox()
Dim oMail
Dim myFolder
Dim myOlApp As Outlook.Application
Dim myNamespace As NameSpace
Dim strHTML As String, LObjet As String
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
For Each oMail In myFolder.Items
Debug.Print oMail.Subject
debutAdresse = InStr(1, oMail.Body, "Pseudo (")
MsgBox "Position du début : " & debutAdresse
MsgBox "Corps de texte : " & oMail.Body
FinAdresse = InStr(debutAdresse, oMail.Body, ")")
AdresseEmail = Mid(oMail.Body, debutAdresse, FinAdresse - debutAdresse)
MsgBox "Adresse destinataire: " & AdresseEmail
Next oMail
End Sub
Bonsoir, me revoilà,
J'ai 3 messages qui s'affichent, les voici:
https://www.cjoint.com/?ejxHkJ2tMu
A bientôt
J'ai 3 messages qui s'affichent, les voici:
https://www.cjoint.com/?ejxHkJ2tMu
A bientôt
Bonjour, c'est presque bon, la première macro fonctionne j'ai juste changé le "pseudo (" en "@" afin de rechercher l'adresse mail et ça me donne comme résultat: @hotmail.com"Dupont@hotmail.com, le message ce crée bien pas de soucis, d'où ma question maintenant comment sélectionner uniquement l'adresse mail qui est après le ".
Comment désigner à la macro de s'executer uniquement sur les messages dont l'objet contient le mot "bravo"
Et comment faire effectuer la macro à chaque nouvelle importation de mail?
La macro donne:
Sub ParcourirInBox1()
Dim oMail As Object
Dim myFolder
Dim myOlApp As Outlook.Application
Dim myNamespace As NameSpace
Dim strHTML As String, LObjet As String
'Dim myFolder As Folders
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
For Each oMail In myFolder.Items
Debug.Print oMail.Subject
debutAdresse = InStr(1, oMail.Body, "@")
FinAdresse = InStr(debutAdresse, oMail.Body, ")")
AdresseEmail = Mid(oMail.Body, debutAdresse, FinAdresse - debutAdresse) 'debutAdresse,
MsgBox "Adresse destinataire: " & AdresseEmail
' objet du courriel
LObjet = "tâches urgentes à effectuer"
' corps du courriel
strHTML = ""
strHTML = strHTML & "<HEAD>"
strHTML = strHTML & "<BODY>"
strHTML = strHTML & "Bonjour ,<BR>"
strHTML = strHTML & "<BR>"
strHTML = strHTML & "<BR>... à réception du colis déballez le devant le livreur"
strHTML = strHTML & "<BR> afin d'émettre les réserves de rigueur en cas de problème...."
strHTML = strHTML & "<BR> ..........."
strHTML = strHTML & "<BR>"
strHTML = strHTML & "<BR>Avec mes respectueuses salutations."
strHTML = strHTML & "</BODY>"
strHTML = strHTML & ""
' préparation de l'envoi
Set mailobj = CreateObject("Outlook.Application")
Set mail = mailobj.CreateItem(olMailItem)
mail.To = AdresseEmail
mail.Subject = LObjet
mail.HTMLBody = strHTML
mail.Display ' pour afficher le courriel avant l'envoie
'***** Activer [mail.send] uniquement lorsque tout est en ordre
'mail.Send
' *********
Next oMail
End Sub
Merci et bon week end
Comment désigner à la macro de s'executer uniquement sur les messages dont l'objet contient le mot "bravo"
Et comment faire effectuer la macro à chaque nouvelle importation de mail?
La macro donne:
Sub ParcourirInBox1()
Dim oMail As Object
Dim myFolder
Dim myOlApp As Outlook.Application
Dim myNamespace As NameSpace
Dim strHTML As String, LObjet As String
'Dim myFolder As Folders
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
For Each oMail In myFolder.Items
Debug.Print oMail.Subject
debutAdresse = InStr(1, oMail.Body, "@")
FinAdresse = InStr(debutAdresse, oMail.Body, ")")
AdresseEmail = Mid(oMail.Body, debutAdresse, FinAdresse - debutAdresse) 'debutAdresse,
MsgBox "Adresse destinataire: " & AdresseEmail
' objet du courriel
LObjet = "tâches urgentes à effectuer"
' corps du courriel
strHTML = ""
strHTML = strHTML & "<HEAD>"
strHTML = strHTML & "<BODY>"
strHTML = strHTML & "Bonjour ,<BR>"
strHTML = strHTML & "<BR>"
strHTML = strHTML & "<BR>... à réception du colis déballez le devant le livreur"
strHTML = strHTML & "<BR> afin d'émettre les réserves de rigueur en cas de problème...."
strHTML = strHTML & "<BR> ..........."
strHTML = strHTML & "<BR>"
strHTML = strHTML & "<BR>Avec mes respectueuses salutations."
strHTML = strHTML & "</BODY>"
strHTML = strHTML & ""
' préparation de l'envoi
Set mailobj = CreateObject("Outlook.Application")
Set mail = mailobj.CreateItem(olMailItem)
mail.To = AdresseEmail
mail.Subject = LObjet
mail.HTMLBody = strHTML
mail.Display ' pour afficher le courriel avant l'envoie
'***** Activer [mail.send] uniquement lorsque tout est en ordre
'mail.Send
' *********
Next oMail
End Sub
Merci et bon week end
Bonjour,
Le code corrigé pour l'extraction de l'adresse en fin. Par contre je ne trouve pas de mot [Bravo] comme référence, et de plus j'ai l'impression que c'est trop aléatoire, il faut trouver un autre critère.
Que faut-il comprendre : chaque nouvelle importation de mail?
Le code corrigé pour l'extraction de l'adresse en fin. Par contre je ne trouve pas de mot [Bravo] comme référence, et de plus j'ai l'impression que c'est trop aléatoire, il faut trouver un autre critère.
Que faut-il comprendre : chaque nouvelle importation de mail?
Sub ParcourirInBox() Dim oMail Dim myFolder Dim myOlApp As Outlook.Application Dim myNamespace As NameSpace Dim strHTML As String, LObjet As String Set myOlApp = Outlook.Application Set myNamespace = myOlApp.GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) For Each oMail In myFolder.Items Debug.Print oMail.Subject debutAdresse = InStr(1, oMail.Body, "mailto:") FinAdresse = InStr(debutAdresse, oMail.Body, """") AdresseEmail = Mid(oMail.Body, debutAdresse + 7, FinAdresse - debutAdresse - 7) ' MsgBox "Adresse destinataire: " & AdresseEmail ' objet du courriel LObjet = "tâches urgentes à effectuer" ' corps du courriel strHTML = "" strHTML = strHTML & "<HEAD>" strHTML = strHTML & "<BODY>" strHTML = strHTML & "Bonjour ,<BR>" strHTML = strHTML & "<BR>" strHTML = strHTML & "<BR>... à réception du colis déballez le devant le livreur" strHTML = strHTML & "<BR> afin d'émettre les réserves de rigueur en cas de problème...." strHTML = strHTML & "<BR> ..........." strHTML = strHTML & "<BR>" strHTML = strHTML & "<BR>Avec mes respectueuses salutations." strHTML = strHTML & "</BODY>" strHTML = strHTML & "" ' préparation de l'envoi Set mailobj = CreateObject("Outlook.Application") Set mail = mailobj.CreateItem(olMailItem) mail.To = AdresseEmail mail.Subject = LObjet mail.HTMLBody = strHTML mail.Display ' pour afficher le courriel avant l'envoie '***** Activer [mail.send] uniquement lorsque tout est en ordre ' mail.Send ' ********* Next oMail End Sub
Bonjour,
Dans un premier temps, la procédure qui suit vous averti de l'arrivé d'un nouveau message. La mettre dans le module [ThisOutlookSession] d'Outlook.
Il faut déterminer une référence valable pour déclencher l'envoi du message désiré (procédure : [ParcourirInBox]).
Dans un premier temps, la procédure qui suit vous averti de l'arrivé d'un nouveau message. La mettre dans le module [ThisOutlookSession] d'Outlook.
Private Sub Application_NewMail() MsgBox "Vous venez de recevoir un nouveau Mail !", vbExclamation End Sub
Il faut déterminer une référence valable pour déclencher l'envoi du message désiré (procédure : [ParcourirInBox]).