Envoyé un mail via userform

poups

XLDnaute Occasionnel
Bonjour,

Je veux envoyé un mail depuis une boite de dialogue et cela ne fonctionne pas
Je ne trouve pas, j'ai fais à peut près la même chose dans un autre dossier qui marche

C'est tres certainement a cuse "de la peux pres" ....

'Envoyer_Mail

Dim ObjOutlook As Object
Dim objEmail As Object
Dim oBjMail

Set appoutlook = CreateObject("outlook.application")
Set mailoutlook = appoutlook.CreateItem(olMailItem)

With mailoutlook

Email1= Me.labEmail1

.Attachments.Add "C:\Users\" & USER & "\Desktop\" & NomDI & ".xlsm"
.To = Email1 ' le destinataire
.cc = Email_agence & ";" & Email_agence2 & ";" & Email_SAV & ";" & Nom_DTS
'.BCC =
.Subject = NomDI ' l'objet du mail

.HTMLBody = "Madame, Monsieur, <br><br>" _
& "Veuillez trouver ci-joint une DI pour action !!<br>" _
& "Merci de transmettre le rapport d'intervention à remplir sur site à votre intervenant.<br>" _
& "<br>" _
& "<br>" _
& "Nous restons à votre disposition pour tous renseignements complémentaires. <br><br>" _
& "Salutations distinguées/ Mit freundlichen Grüssen/ Kind regards <br>" _
& "<font color= red><br><br>" _
.Display

End With

J'ai une erreur à la premier ligne :
erreur de compilation => variable non définie
Et cela ce porte sur "appoutlook"

J'ai pas mis toutes les variables mais elles doivent marché, le PB est juste sur outlook ...
Dans les préférences VBA j'ai bien cocher : Microsoft Office Outlook View Control

Merci de votre aide
pous
 
Dernière édition:

poups

XLDnaute Occasionnel
Re : Envoyé un mail via userform

Il est clair que l'exemple donné n'ai as formidable ... (fichier trafiqué pour le mettre sur le forum)

Je ne pense pas que le probleme vienne de la mais bon

Mon probleme, quand je met le code dans mon Userform cela ne marche pas et cela bloc sur "Set appoutlook ...."
Quand je mais le même code dans un module, avec transfert des données de mon userform dans excel pour reprande mes variables pour envoyé le mail ca marche ! mais c'est pas térible ...

Je ne comprend rien ...
Merci de ton aide
Poups
 

poups

XLDnaute Occasionnel
Re : Envoyé un mail via userform

J'ai essyé mais cela ne marche pas mieux => blocage au m^me endroit ...

C'est pas grave, j'ai transférer mes infos sur une feuille, que je reprend dans un module qui gére mon mail et ca marche
Va comprendre


Merci a tous
 

Dranreb

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Non mais le blocage vient de ce que vous tentez d'utiliser une variable que vous n'avez pas déclarée, AppOutlook en l'occurence.
Si vous avez désormais la bibilothèque Outlook, grâce à la bonne référence, déclarez la As Outlook.Application.
Je vous conseille de plus d'éviter le type Object et la fonction CreateObject. Normalement la bibliothèque Outlook doit vous founir tous les types explicites dont vous avez besoin et une programmation plus aisée.
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonjour Dranreb :D, poups,

Le problème de déclarer en As Outlook.Application c'est que si le fichier doit être changé de machine, et de version d'Excel, il faut à chaque fois remettre les références adéquates (je parle en connaissance de cause :eek:). Mais il est vrai que si le fichier reste toujours sur le même PC, c'est beaucoup mieux :).

A+
 

Dranreb

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonjour.
Non. Seulement dans le cas où le fichier qui lui correspond est implanté ailleurs, de sorte qu'il ne peut pas le charger depuis le chemin qu'il s'est noté et que ça la met MANQUANT. Il serait toujours temps, après avoir bénéficié d'une rédaction et mise au point grâce à l'assistance offerte par la référence, de la dégrader après coup, cette programmation, avec des Object et un CreateObject, si ça pose trop de problèmes de portabilité.
 

poups

XLDnaute Occasionnel
Re : Envoyé un mail via userform

Bonjour,

Si je reste sur l'userForm avec le même programme Email cela ne marche pas du tous, même en déclarant ce que vous m'avez dit, cela serais pourtant beaucoup plus simple ...
Le rigolo:), j'ai un autre fichier (beaucoup plus simple) mais ou le même programme marche tres bien dans l'userform ...

Quand je met les variables de l'userform sur une feuille, que je met le programme "Mail" dans un module en faisant référence au donné sur la feuille, cela marche tres bien et j'ai finalisé comme cela les différents mail que j'ai a envoyer ...

Mon programme à peut être trop de variable qui ce croisent dans tous les sens

Merci beaucoup quand même
A+
Poups
 

Dranreb

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonjour.
Oui, parce qu'après, vous n'avez pas déclaré non plus MailOutlook ni OlMail As Outlook.Item je suppose…
Oui enfin comme disait Yalo, vous n'avez exactement déclaré que ce dont vous n'aviez pas besoin et vice versa !
Joignez donc ce que vous avez essayé !
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonjour à tous,

Vois le fichier ci-joint, j'ai juste modifié les déclarations de variable et qq trucs, mais ça reste dans le même esprit.

A+
 

Pièces jointes

  • Outlook UserForm.xlsm
    21.7 KB · Affichages: 36
  • Outlook UserForm.xlsm
    21.7 KB · Affichages: 45
  • Outlook UserForm.xlsm
    21.7 KB · Affichages: 35

poups

XLDnaute Occasionnel
Re : Envoyé un mail via userform

J'ai rajouté :
Dim User As String
User = Application.UserName

La cela marche

Je vais essayé ce soir dans mon fichier, la seul chose qui change serait " Option Explicit" en tête du VBA ...

merci Poups
 

Pièces jointes

  • Outlook UserForm.xlsm
    22.4 KB · Affichages: 36
  • Outlook UserForm.xlsm
    22.4 KB · Affichages: 41
  • Outlook UserForm.xlsm
    22.4 KB · Affichages: 45

Statistiques des forums

Discussions
312 166
Messages
2 085 894
Membres
103 021
dernier inscrit
Sergyl75