Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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" ....


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
 

Dranreb

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonsoir.
Êtes vous sûr de la référence qu'il vous faut ? "Microsoft Office Outlook" au début, d'accord, mais "View Control" après ? Ne serait-ce pas plutôt "Object Library" ?
 

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 , 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 ). 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

Dranreb

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Ça donne quelque chose en remplaçant USER (qui n'est ni déclaré ni initialisé) par Environ("USERNAME")
Encore que ça plante, bien sûr chez moi, vu que je n'ai pas ça.
 

Yaloo

XLDnaute Barbatruc
Re : Envoyé un mail via userform

Bonjour Dranreb,

Quand j'ai fait mes tests j'avais remplacé le nom du fichier et son chemin par un fichier présent sur mon PC en C:\.
Chez moi, avec Environ("USERNAME") c'est ok.
 

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…