Envoi de mail à partir d'excel

manup38 Messages postés 3 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 8 février 2011 - 10 févr. 2010 à 14:36
manup38 Messages postés 3 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 8 février 2011 - 11 févr. 2010 à 09:38
Bonjour,

Mon probleme est assez simple. J'ai une base d'adresses mails sous excel et je souhaiterai les ajouter à un nouveau mail. Pour creer le mail et ajouter dans la liste des destinataires "A" pas de problème. Par contre si j'essai d'ajouter une adresse mail en copie, là il refuse de me la mettre. Je n'ai pas d'erreur qui s'affiche, juste rien ds mon champs copie.
Je pense que je dois oublier quelque chose dans mon code.

Voici le code:




    Set myOlApp = CreateObject("Outlook.Application")
    Set myItem = myOlApp.Createitem(olMailItem)


    Set myrecipient = myItem.Recipients.Add("youpi@ess.fr") 'ajout ds "A"
                        
    Set myrecipient = myItem.Recipients.Add("essai@ess.fr") 'Ajout en Copie
    myrecipient.Type = olcc
    myrecipient.Resolve



2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 févr. 2010 à 19:17
Salut
Si tu respectes bien les indications de l'aide, cela fonctionne :
    Dim myOlApp As Outlook.Application
    Dim myItem As Outlook.MailItem
    Dim myRecipient As Outlook.Recipient
    
    Set myOlApp = CreateObject("Outlook.Application")
    Set myItem = myOlApp.Createitem(olMailItem)

    Set myRecipient = myItem.Recipients.Add("youpi@ess.fr") 'ajout ds "A"
    myRecipient.Type = olTo
    Set myRecipient = myItem.Recipients.Add("essai@ess.fr") 'Ajout en Copie
    myRecipient.Type = olCC
    
    Debug.Print "A", myItem.To
    Debug.Print "CC", myItem.CC
Tu sembles avoir oublié de préciser de quel Type est la première adresse.
PS : En ajoutant une référence à "Microsoft Outlook xx.0 Object Library", tu peux déclarer ta variable myOlApp directement, sans passer par une création dite "tardive" du CreateObject : Cela favorise la compilation et évite les erreurs :
    Set myOlApp = New Outlook.Application

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
manup38 Messages postés 3 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 8 février 2011
11 févr. 2010 à 09:38
Merci beaucoup, ca marche nikel. J'ai un peu galerer pour le mettre en place, je sais pas pourquoi c'etait un peu tatillon...
L'instruction:
            myRecipient.Resolve


aide pas mal :)
J'ai creer un deuxieme recipient comme ca il ne m'embete plus.
En tout cas merci beaucoup.
0
Rejoignez-nous