[Déplacé .Net --> VBA] Envoie message via VBA

ZEPS256 Messages postés 59 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 28 juin 2012 - 4 mai 2010 à 20:27
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011 - 7 mai 2010 à 14:54
Bonjour à tous,

J'ai un souci avec ce code pour un envoie d'un fichier xls avec outlook 2007.
Me dit : "Type defini par l'utilisateur non défini"

Je bloque !!

QQ pour m'expliquer et me débloquer ?
Merci de votre aide......


Sub envoie_mail()
Dim appOutlook As Outlook.Application
Dim message As Outlook.mailitem
Dim myrecipient As Object

'lance la cession Outlook
Set appOutlook = CreatObject("Outlook.Application")
'crée un nouveau message
Set message = appOutlook.createitem(olMailItem)
With message
.Subject = "SPIE - Envoi hebdomadaire base RUS"
.Body = "Messieurs," & Chr(13)"Veuillez trouver en pièce jointe notre mise à jour hebdomadaire."
.BodyFormat = olFormatHTML
.Recipeient.Add ("mon_adresse_mail")
.attachements.Add ThisWorkbook.Part & "" & ThisWorkbook.Name
.send
End With
appOutlook.Quit

Set appOutlook = Nothing
End Sub


Lezeps ;-))

5 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
4 mai 2010 à 21:07
Salut
Sur quelle ligne te donne t-il cette erreur ?

Mais tu es dans Outlook ou dans Excel ?

"Recipeient" me parait bizarre

"ThisWorkbook.Part" : ce serait quoi, d'après toi ? Path, non ?

A mon avis, tu ne pourras pas expédier un fichier qui est actuellement ouvert.

Ouvre l'aide de Outlook : il y a surement des informations sur les méthodes que tu essayes d'utiliser.

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
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
5 mai 2010 à 14:49
Merci Jack,

Je suis xls et effectivement, je ne pense pas pouvoir envoyer un fichier ouvert.
Mais le code bloque avant l'envoie.
Généralement, j'avance un point après l'autre dans mon code !!
Je peux à la limite avant l'envoie, l'enregistrer sous (ActiveWorkbook.SaveCopyAs)

La ligne qui me donne cette erreur est celle-ci:

Dim appOutlook As Outlook.Application

Néanmoins je l'ai retrouvé plusieurs fois ds des codes pour cette petite appli.

J'ai le sentiment que c'est le lancement de Outlook 2007 qui pose pb ...
0
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013
6 mai 2010 à 11:13
Bonjour,
As-tu activer "Microsoft Outlook x.x Object Library"?
Pour ce faire dans l'éditeur vba :
Menu outils => Références... => "Microsoft Outlook 12.0 Object Library".
(12.0 pour office 2007).

ensuite deux, trois erreurs de frappe ici :
Set appOutlook = CreatObject("Outlook.Application") 
manque un "e" a create

et ici :
.Body "Messieurs," & Chr(13)"Veuillez 
manque un "&" :
.Body "Messieurs," & Chr(13) & "Veuillez etc...." 



et comme te l'as dit Jack il y a un souci avec "Thisworkbook.part" ce doit être "Thisworkbook.path" (le répertoire de ton classeur).

Quand à "Recipeient" met plutôt "Recipients"

Je pense que tu auras déjà bien avancé
@+
0
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013
6 mai 2010 à 14:09
Re, il y a aussi une petite erreur ici :
.attachements.Add ThisWorkbook.Part & "" & ThisWorkbook.Name 

le "e" est de trop donc remplace par :
.Attachments.Add ThisWorkbook.Path & "" & ThisWorkbook.Name

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
7 mai 2010 à 14:54
Super,

Merci pour la correction des fautes.
En étant dedans on ne les voit plus !!!!

Ce qu'il me manquait, c'est l'activation de "Microsoft Outlook x.x Object Library". je ne le savait pas.

Merci pour votre aide en tout cas
0
Rejoignez-nous