OVH Cloud OVH Cloud

Envoi Email sur click()

18 réponses
Avatar
Raphael
Bonjour =E0 tous,


J'ai un formulaire "F_Agents" dans lequel il y a un sous-formulaire
"F_SaisieAgents".
Dans ce dernier, j'ai un bouton pour envoyer un email.
L'adresse email se trouve dans un sous-formulaire "F_Synth=E8secong=E9s"
du formulaire "F_Agents".


Voici le code sur click :


Private Sub Commande62_Click()
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook =3D CreateObject("Outlook.Applicat=ADion")
Set MonMessage =3D MonOutlook.createitem(0)
MonMessage.to =3D Forms![F_Synth=E8se cong=E9s].Form.MailChefService
MonMessage.Cc =3D "tatay...@yahoo.fr"
MonMessage.Subject =3D "Proposition d'absence au " &
Forms![F_Synth=E8secong=E9s].Form.=ADDate_de_saisie
Corps =3D "Bonjour,"
Corps =3D Corps & Chr(13) & Chr(10)
Corps =3D Corps & "Veuillez trouvez ci joint ma proposition d'absence en
date du " & Forms![F_Synth=E8se cong=E9s].Form.Date_de_saisie
Corps =3D Corps & Chr(13) & Chr(10)
Corps =3D Corps & "Cordialement,"
Corps =3D Corps & Chr(13) & Chr(10)
Corps =3D Corps & Forms![F_Synth=E8se cong=E9s].Form.Pr=E9nom &
Forms![F_Synth=E8se cong=E9s].Form.Nom


MonMessage.body =3D Corps
MonMessage.Attachments.Add Forms![E_Synth=E8se cong=E9s]
MonMessage.send


Set MonOutlook =3D Nothing


End Sub


Voici le message d'erreur :


Erreur d'execution 2450
Impossible de trouver le formulaire 'F_Synth=E8secong=E9s' auquel il est
fait r=E9f=E9rence dans une expression de macro ou un code visualbasic.


Voici la question :


Comment trouver le formulaire....=20


Merci de votre aide !=20


Raphael

10 réponses

1 2
Avatar
pgz
Ponjour,
Ge crois qu'il suffit de l'ouvrir : DoComd.OpenForm "F_Synthèsecongés".
Pour info : tu peux aussi remplacer chr(13) & chr(10) par vbCrLf.
Voilà.
Zalut, et bonne chance!
pgz


Bonjour à tous,


J'ai un formulaire "F_Agents" dans lequel il y a un sous-formulaire
"F_SaisieAgents".
Dans ce dernier, j'ai un bouton pour envoyer un email.
L'adresse email se trouve dans un sous-formulaire "F_Synthèsecongés"
du formulaire "F_Agents".


Voici le code sur click :


Private Sub Commande62_Click()
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Applicat­ion")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.to = Forms![F_Synthèse congés].Form.MailChefService
MonMessage.Cc = ""
MonMessage.Subject = "Proposition d'absence au " &
Forms![F_Synthèsecongés].Form.­Date_de_saisie
Corps = "Bonjour,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Veuillez trouvez ci joint ma proposition d'absence en
date du " & Forms![F_Synthèse congés].Form.Date_de_saisie
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Cordialement,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Forms![F_Synthèse congés].Form.Prénom &
Forms![F_Synthèse congés].Form.Nom


MonMessage.body = Corps
MonMessage.Attachments.Add Forms![E_Synthèse congés]
MonMessage.send


Set MonOutlook = Nothing


End Sub


Voici le message d'erreur :


Erreur d'execution 2450
Impossible de trouver le formulaire 'F_Synthèsecongés' auquel il est
fait référence dans une expression de macro ou un code visualbasic.


Voici la question :


Comment trouver le formulaire....


Merci de votre aide !


Raphael




Avatar
Raphael
Merci mais ça ne fonctionne toujours pas.
J'ai toujours le même message !
Avatar
pgz
Ponjour encore,
Ge vois que ça résiste... Regardons mieux...
J'ecrirais Forms!NomFormulaire.NomChamp au lieu de
Forms!NomFormulaire.Form.NomChamp.
Za va mieux?
pgz


Merci mais ça ne fonctionne toujours pas.
J'ai toujours le même message !




Avatar
Raphael
Voilà ça fonctionne... presque !!!

Je n'arrive pas à attacher un état en pièce jointe

Quelqu'un sait il ?

Pour info le code OK (sans pièce jointe) :

Private Sub Commande62_Click()


Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.to =
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.MailChefServi ce
MonMessage.Cc = ""
MonMessage.Subject = "Proposition d'absence au " &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Date_de_saisie
Corps = "Bonjour,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Veuillez trouvez ci joint ma proposition d'absence en
date du " &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Date_de_saisie
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Cordialement,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Prénom & "
" & Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Nom

MonMessage.body = Corps

MonMessage.send

Set MonOutlook = Nothing


End Sub
Avatar
Raphael
Meric de ton aide

question subsidiaire :

Pour ouvrir chaque formulaire et chaque état, j'ai installer un
critère : NumSalarié
Le problème c'est qu'il faut que je donne le NumSalarié pour ouvrir
formulaires et états.
Existe t il une solution pour définir le NumSalarié à l'ouverture de
la base (par exemple dans la macro AUTOEXEC ) ?
Avatar
Eric
Bonjour Raphael,

Si j'ai bien compris :
Le formulaire "F_Agents" contient 2 sous-formulaires : "F_SaisieAgents"
& "F_Synthèsecongés".
Le bouton est dans le sous-formulaire "F_SaisieAgents"

Partant de là, il faut que de ton bouton, tu récupéres des infos qui se
trouvre dans le contrôle sous-form "F_Synthèsecongés" du formulaire
"F_Agents".
Pour accéder à partir d'un sous-form à des infos du formulaire, il faut
utiliser la Propriété PARENT.
Dans ton cas, sur le click du bouton, tu devras mettre un truc du genre :
Me.Parent.[F_Synthèsecongés].Form!NomDuChampARecuperer pour chacun des
champs auxquels tu veux accéder à partir de F_SaisieAgents

Merci mais ça ne fonctionne toujours pas.
J'ai toujours le même message !



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
pgz
Ponjour, toujours,
Ge t'invite à voir, pour la pj :
http://officesystem.access.free.fr/vba/envoi_message.htm
tu devrais trouver ton bonheur.
Zinon on fera encore un petit effort.
pgz


Voilà ça fonctionne... presque !!!

Je n'arrive pas à attacher un état en pièce jointe

Quelqu'un sait il ?

Pour info le code OK (sans pièce jointe) :

Private Sub Commande62_Click()


Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.to > Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.MailChefService
MonMessage.Cc = ""
MonMessage.Subject = "Proposition d'absence au " &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Date_de_saisie
Corps = "Bonjour,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Veuillez trouvez ci joint ma proposition d'absence en
date du " &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Date_de_saisie
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Cordialement,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps &
Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Prénom & "
" & Forms![F_Agents]![F_SaisieAgents]![F_Synthèsecongés].Form.Nom

MonMessage.body = Corps

MonMessage.send

Set MonOutlook = Nothing


End Sub




Avatar
pgz
Ponjour,
Ge crois que le plus simple est de virer le critère de ton form ou état et
ensuite d'ouvrir ces objets en renseignant la clause WHERE de OpenForm ou
-Report par
"NumSalarié = " & NuméroSalarié
Za devrait bien marcher.
pgz


Meric de ton aide

question subsidiaire :

Pour ouvrir chaque formulaire et chaque état, j'ai installer un
critère : NumSalarié
Le problème c'est qu'il faut que je donne le NumSalarié pour ouvrir
formulaires et états.
Existe t il une solution pour définir le NumSalarié à l'ouverture de
la base (par exemple dans la macro AUTOEXEC ) ?




Avatar
Raphael
Meric mais là je ne comprend pas bien ou il faut que j'aille...

J'ai un menu où se trouve un bouton pour ouvrir F_Agents
C'est sur F_Agents qui est lié à la liste des agents que je dois
placer mon critère.

Où écrire tes codes ?
Sur le bouton pour ouvrir le formulaire ?
Dans la macro AUTOEXEC ?
Ailleurs ??
Avatar
Raphael
Je te remercie pour le lien,
mais dans cet exemple, il attache un fichier.

Je souhaite pour ma part attacher toujours le même état.
1 2