ENVOYE DE MESSAGE AVEC PIÈCES JOINTES DEPUIS EXCEL

FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 - 24 juil. 2004 à 16:04
IhebCha Messages postés 1 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 7 août 2009 - 7 août 2009 à 17:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24802-envoye-de-message-avec-pieces-jointes-depuis-excel

IhebCha Messages postés 1 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 7 août 2009
7 août 2009 à 17:27
On peut détourner le problème de sécurité Outlook sans recourir à "ClickYes".
Au fait Le message de sécurité n'intervient que lorsque vous tentez d'envoyer des messages par un autre programme que Outlook.
Si vous exécutez votre code sous Outlook. Vous n'aurez pas besoin de ClickYes. Car Outlook n'affiche pas un problème de sécurité quand c'est lui même qui envoit.
L'astuce est de mentir à Outlook en lui faisant croir que le message est envoyé à travers lui même.

Je reprend la dernière partie de votre code :

Set mailobj = CreateObject("Outlook.Application")
Set Mail = mailobj.CreateItem(olMailItem)


With Mail
'Mettre ici le ou les destinataires
.To = "nom1; nom2; ..."
'Sujet du message
.Subject = "Mail automatique"
'Corps de texte du message(contenu)
.Body = "test"
.Attachments.Add ("C:\test.txt")
.display
'Au lieu d'utiliser la méthode send on utlise la méthode save
.Save
'StrID est une varriable type String
StrID = .EntryID
End With
'On appel la procédure d'outlook
Call mailobj.send_myMail(strID)
Set Mail = Nothing
Set mailobj = Nothing
end sub


Avant d'éxécuter ce code depuis Excel.
Allez sur Outlook dans le module ThisOutlookSession
inserez le code suivant:

Sub send_myMail(StrID As String)
Dim myMail

Set myMail = Application.GetNamespace("MAPI").GetItemFromID(StrID)
myMail.Send

End Sub

Enregistrez le

Retournez à Excel et lancez votre procédure. Ca marchera
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
21 sept. 2007 à 14:58
Au lieu de s'embêter avec ce fichier test.txt pourquoi ne pas avoir directement implémenté un GetOpenFileName?

J'ai également rajouté un InputBox pour l'adresse.

Code modifié :

' adresse du destinataire
Dim address As String
address = InputBox("Adresse du destinataire : ", "DESTINATAIRE", "")
' fichier joint
Const FTYPE_ALL As String = "Tout type de fichiers, *.*"
Dim join_file As String
join_file = Application.GetOpenFilename(FTYPE_ALL, 0, "Ajouter un fichier", "Joindre")
'
' on lance la fonction de mail
'
With Mail
.SentOnBehalfOfName = SentOnName
'Mettre ici le ou les destinataires ("nom.prenom@FAI.com; nom1.prenom1@FAI.com)
.To = address
'Sujet du message
.subject = "Mail automatique"
'Corps de texte du message(contenu)
.body = "Message envoyé par Excel."
'
' on vérifie simplement si un fichier est ajouté
'
If join_file <> "" Then
.Attachments.Add (join_file)
End If
.display
.Send
End With
starfy Messages postés 3 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 24 février 2010
22 août 2007 à 01:53
je suis complètement débutant et je voudrais savoir comment transformer ce programme pour qu'au lieu d'envoyer le mail à l'adresse spécifiée, il l'envoie à une adresse mail se trouvant dans une cellule d'excel. Idem pour la pièce jointe.

Et comment lui faire alors envoyer un mail à chacune des adresses de mon tableau excel avec la pièce jointe propre à l'adresse (j'ai une colonne avec les adresses mail et une autre avec les pièces jointes à envoyer)
EPS32HAY Messages postés 100 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 1 février 2009
18 nov. 2005 à 14:04
Salut GBAUDINAT

As tu penser à créer le fichier test.txt sur la racine de ton disque dur?.

Je viens de la relancer au bureau et ca fonctionne, le problème c'est que j'ai OUTLOOK 2002, je ne l'ai pas testé avec la version OUTLOOK 2003.
Bonne Prog
GBAUDINAT Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 18 novembre 2005
18 nov. 2005 à 12:42
Bonjour,
j'ai utilisé votre code pour ajouter une pièce jointe à un mailing avec Outlook 2003 et Word. Impossible de lancer la macro qui s'arrête à la ligne : .Attachments.Add ("C:\test.txt") avec un message d'erreur "Erreur de compilation, membre de méthode ou de donnée introuvable".
Microsoft Outlook Object 11.0 library est bien installé dans les références.

Où est le probléme ?

Cordialement
GB
EPS32HAY Messages postés 100 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 1 février 2009
17 nov. 2005 à 15:41
Bonjour à tous,
Voici un extrait provenant de l'éditeur de ClickYes et permettant la fermeture de l'appli.

Je ne l'ai pas testé.


Express ClickYes Command Line Parameters
If you use VBScript, JavaScript or any other scripting language that does not provide Windows API calls you can manage Express ClickYes too by means of command line switches. A lot of Visual Basic developers will find this way more convenient too.

Being launched ClickYes can be either active or suspended. When it is active it monitors the Outlook Security prompts and clicks the Yes button on behalf of a user. When it is suspended it does nothing. Double-clicking its icon in the taskbar notification area (also known as system tray) makes it active if it was suspended and vise versa.

Express ClickYes supports the following command line switches:
-stop closes Express ClickYes if it was previously launched.

-suspend suspends Express ClickYes if it was active or do nothing otherwise.

-activate activates Express ClickYes if it was suspended or do nothing otherwise.


Bonne Prog à Tous
gilbisti Messages postés 1 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 17 novembre 2005
17 nov. 2005 à 12:35
qui peux me filer l'astuce pour mettre une boucle a l interieur du code afin d'envoyer plusieurs mails?
GBAUDINAT Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 18 novembre 2005
25 sept. 2005 à 16:18
Bonjour,

j'en suis arrivé au même probléme avec word : comment fermer ClickYes de la barre tâches ?
Peut-être avez vous maintenant trouvé la solution.

Cordialement GB
cs_dhardy Messages postés 45 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 24 février 2009
11 mars 2005 à 22:00
Je suis aussi très intéressé par une autre solution du type modification de la regedit comme pour Outlook Express.
cs_garat Messages postés 32 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 19 janvier 2011
6 nov. 2004 à 11:18
Merci EPS32HAY pout ta réponse,

Je n'ai pas programmé ClikYes pour le lancer au démarrage de WIN.

Je le lance par la commande:
Shell("C:\Program Files\Express ClickYes\ClickYes.exe")

Ma question est:
Comment fermer l'application ClikYes quand on a fini d'envoyer son ou ses email(s) ?

Merci
EPS32HAY Messages postés 100 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 1 février 2009
5 nov. 2004 à 22:25
En fait Clickyes ce lance automatiquement au demarrage de windows, il faut donc l'inhiber. En cliquant dans le barre de tache sur l'icone du logiciel, tu peux le rendre inactif.
Moi je l'enclenche uniquement dans mon prog et je le met en stanby à la fin du code.

En expérant que cette réponse te convienne.

Bonne programmation.
cs_garat Messages postés 32 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 19 janvier 2011
2 nov. 2004 à 19:52
Super merci !

Mais comment sortir de l'application "ClickYes" à la fin de la routine ?

Je me casse les dents sur cette question depuis 4 jours.

A+
EPS32HAY Messages postés 100 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 1 février 2009
29 oct. 2004 à 21:45
Salut Proteus91,
Le programme clickyes permet simplement d'éviter le clic sur le bouton OK du message automatique, il n'existe malheuresement pas d'autres solution malgré d'importantes recherche sur Internet.


Bonne prog
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
24 oct. 2004 à 21:23
Moi je signe plutot pour. Mais je crois que j'ai un probleme ton code est pas mal mais est ce qu'il marche avec Outlook XP j'ai bien telecharger le fichier mais j'ai toujours ce fameux message automatique qui bloque mes envoies.

Peux tu me tenir au courant ?
EPS32HAY Messages postés 100 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 1 février 2009
24 juil. 2004 à 22:19
Je cherche encore et encore,mais pas de résultat concluant pour le moment
FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 1
24 juil. 2004 à 16:04
J'ai pas le temp de zieuter ton code mai je regarderai a l'ocasion, si tu trouve un moyen de le faire sans dl le freewar sa m'interesse :))
Rejoignez-nous