Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2011, 15h17   #1
Invité de passage
 
Inscription : novembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 7
Points : 0
Points : 0
Par défaut Erreur lors de l'envoie d'un mail via Outlook

Bonjour,

J'utilise un code qui fonctionnait sous Office 2003. Cependant, depuis le passage sous Office 2010, ACCESS me renvoie une erreur lors de l'execution de la requete oEmail.send.
J'ai bien la référence à la bibliotheque Office Outlook 14.0

Merci pour votre aide

Voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Dim Destinataire As String
Dim Sql_Mail As String
Dim oEmail As Outlook.MailItem
Dim appOutLook As Outlook.Application
Dim oRst1 As DAO.Recordset
Dim oDB As DAO.Database
 
initerr = False
Err_detect_mail (initerr)
 
Set oDB = CurrentDb
 
'Création de la requete de regrouppement
 
Sql_Mail = "SELECT Tbl_LUP_EMAIL.adressemail, Tbl_LUP_EMAIL.Login, Tbl_LUP_EMAIL.Par FROM Tbl_LUP_EMAIL GROUP BY Tbl_LUP_EMAIL.adressemail, Tbl_LUP_EMAIL.Login, Tbl_LUP_EMAIL.Par HAVING (((Tbl_LUP_EMAIL.Par)=GetLoginUser()));"
 
' créer un nouvel item mail
 
Set appOutLook = New Outlook.Application
Set oEmail = appOutLook.CreateItem(olMailItem)
 
' les paramètres
 
Set oRst1 = oDB.OpenRecordset(Sql_Mail)
 
'Boucle sur chaque client et les ajoute au champ A du mail
While Not oRst1.EOF
moi = oRst1.Fields("Login")
If moi <> GetLoginUser Then
Destinataire = Destinataire & oRst1.Fields("adressemail") & "; "
End If
oRst1.MoveNext
Wend
If Destinataire <> "" Then
 
'Supprime le ";" à la fin
Destinataire = Left(Destinataire, Len(Destinataire) - 2)
 
' Mise en forme du mail
 
'oEmail.To = Destinataire
oEmail.Subject = "Portail Maintenance : Mise à jour de votre LUP"
oEmail.Body = "Bonjour"
 
' envoie le message
oEmail.Send
 
' détruit les références aux objets
Set oEmail = Nothing
Set appOutLook = Nothing
End if
Zoethibault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 17h02   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 958
Points : 30 958
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Et quelle est cette erreur .

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 18h02   #3
Invité de passage
 
Inscription : novembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 7
Points : 0
Points : 0
Erreur 287
Erreur définie par l'application ou par l'objet

Si Outlook est déjà lancé, tout se passe bien, mais s'il est fermé, le message apparait.

Sous ACCESS2003, même Outlook fermé ça fonctionnait
Zoethibault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 18h30   #4
Membre régulier
 
Homme Thierry Pallier
Regisseur
Inscription : octobre 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Thierry Pallier
Âge : 52
Localisation : France, Seine Maritime (Haute Normandie)

Informations professionnelles :
Activité : Regisseur
Secteur : Arts - Culture

Informations forums :
Inscription : octobre 2006
Messages : 47
Points : 94
Points : 94
Bonjour Zoethibault

Dans la procedure que tu nous montres , "oEmail.To = Destinataire" est commenté . Donc ,sans destinataire ,ça marche moins bien ,je pense !

A+
Thierry_PALLIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 19h43   #5
Invité de passage
 
Inscription : novembre 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 7
Points : 0
Points : 0
Exact, mais c'est une erreur de copier coller.Pour faire des essais, le .TO est à mon adresse perso.Pour poser la question sur le forum, j'ai préféré l'enlevé et j'ai oublier de modifier la ligne.
En vrai, la ligne n'est pas en commentaire.
Zoethibault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 05h27   #6
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 958
Points : 30 958
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Test ce genre de code

Code :
1
2
3
4
5
6
7
' ouverture de outlook
    On Error Resume Next
    Set AppOutLook = GetObject(, "Outlook.Application")
    On Error GoTo 0
    If AppOutLook Is Nothing Then
        Set AppOutLook = CreateObject("Outlook.Application")
    End If
Fonctionne que OutLook soit ouvert ou non.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 09h30   #7
Membre régulier
 
Homme Thierry Pallier
Regisseur
Inscription : octobre 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Thierry Pallier
Âge : 52
Localisation : France, Seine Maritime (Haute Normandie)

Informations professionnelles :
Activité : Regisseur
Secteur : Arts - Culture

Informations forums :
Inscription : octobre 2006
Messages : 47
Points : 94
Points : 94
Bonjour tous les deux.

Il vaut mieux placer le "End If" avant la destruction des objets ,puisqu'ils ont été créés avant ton "If" .
Mais cela ne va pas régler ton problème .
N'y as il pas trop de destinataire ? Essais avec un seul.
"destinataire" est de type string . Tu depasses peut-etre ses capacité.
Ne travaillant pas sur la version 2010 ,il y a peut-etre des options de sécurité ?
A+
Thierry_PALLIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h26.


 
 
 
 
Partenaires

Hébergement Web