OVH Cloud OVH Cloud

ENVOYER FICHIER EN COURRIEL EN vba

5 réponses
Avatar
ORDINO
Quand j'utilise=20
DoCmd.SendObject acSendReport, "Bon=20
d'achat","HTML" , "ORDINO@com", , , "VOTRE PO", "Test=20
courriel html"
J'envoi par courriel mon rapport (ATTACH=C9) "Bon d'achat"=20
en format HTML =E0 ORDINO SUJET=3D"VOTRE PO" ET "Test=20
courriel html" COMME MESSAGE

=C7a fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enr=E9gistrer mon rapport dans un=20
fichier .PDF.

Alors comment envoyer un fichier comme attach=E9 avec VBA=20
en passant les param=E8tres comme SendObject le fait.

5 réponses

Avatar
Jean-Marc
J'utilise aussi PDFCREATOR pour créer un fichier appelé Booklents-sent.pdf
dans mes documents.
Ensuite je le copie sur le serveur dans un directory au nom du représentant
puis je détruit le fichier de PDFCREATOR avant d'envoyer le tout par e-mail
avec une adresse extraite d'une table, une adresse de copie définie lors de
l'appel de la fonction et le fichier PDF en fichier attaché.
J'ai écris cette fonction et elle fonctionne bien (chez moi en tout cas).
Je t'ai mis des notes pour t'expliquer ce qu'il se passe au fil de la
fonction.

Option Compare Database
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Function envoi_email(Représentant As String, Optional Cc As String)
On Error GoTo Err_fonction
Dim Message As New CDO.Message, Destinataire As String
Dim corps As String, NomFichier As String, email As String
Destinataire = DLookup("[emailReprésentant]", "Représentants",
"[Représentant] = '" & Représentant & "'") 'Extraction du nom du
représentant dans la table des représentants
Debut = Format(DateDebut, "yyyy-mm-dd") 'Date du début de
l'état
Fin = Format(DateFin, "yyyy-mm-dd") 'Date de fin de
l'état
NomFichier = "ServerSERVEUR(C)Mes documentsRapports envois
brochures" & Représentant & "BelisleBookletsSentFrom" & Debut & "To" & Fin
& ".pdf" 'Chemin et nom final du fichier pdf
DoCmd.PrintOut 'Impression de
l'état sous un nom et un chemin constants
boucle = 0
Size = 0
Set fso = CreateObject("Scripting.FileSystemObject")
Do 'Boucle de
vérification de l'existance du fichier créé par PDFCREATOR
If fso.FileExists("C:Documents and SettingsJMMes
documentsBooklet-sent.pdf") Then Exit Do
Loop
Set f = fso.GetFile("C:Documents and SettingsJMMes
documentsBooklet-sent.pdf")
Do 'Boucle pour
attendre que le fichier soit terminé d'être créé (sa taille gonfle durant
plusieurs secondes)
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then Exit Do
boucle = boucle + 1
Size = f.Size
If boucle > 20 Then 'Durée limite avant
l'envoi d'un message d'erreur. Ici si le fichier reste à une taille nulle ou
gonfle pendant 20 secondes
alerte = MsgBox("Un problème est survenu durant
l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être interrompue et le
rapport NE sera PAS envoyé.", vbCritical, "Erreur de procédure")
DoEvents
GoTo Exit_fonction
End If
Loop
f.Copy NomFichier 'Copie du fichier de
PDFCREATOR à sa place définitive
DoEvents
f.Delete Force 'Effacement du
fichier de PDFCREATOR

corps = "Attached is the list of the booklets sent from " &
Format(DateDebut, "mm/dd/yyyy") & " until " & Format(DateFin,
"mm/dd/yyyy") & vbCrLf & vbCrLf
corps = corps & "Jean-Marc"
With Message 'Envoi du message
.To = Destinataire
.Cc = Cc
.Subject = "Booklets sending list"
.TextBody = corps
.AddAttachment (NomFichier)
.Send
End With
Set Message = Nothing
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Représentants " & _
"SET Représentants.[Date dernier rapport] = '" & DateFin &
"'" & _
"WHERE Représentants.Représentant = '" & Représentant & "';"
DoCmd.SetWarnings True

Exit_fonction:
Exit Function

Err_fonction:
MsgBox Err.Description
Resume Exit_fonction

fonction_Close:
Cancel = -1
Exit Function

End Function





Bonne journée,

Jean-Marc



"ORDINO" a écrit dans le message de
news:41bf01c4a018$42506200$
Quand j'utilise
DoCmd.SendObject acSendReport, "Bon
d'achat","HTML" , "", , , "VOTRE PO", "Test
courriel html"
J'envoi par courriel mon rapport (ATTACHÉ) "Bon d'achat"
en format HTML à ORDINO SUJET="VOTRE PO" ET "Test
courriel html" COMME MESSAGE

Ça fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enrégistrer mon rapport dans un
fichier .PDF.

Alors comment envoyer un fichier comme attaché avec VBA
en passant les paramètres comme SendObject le fait.
Avatar
Ordino
merci Jean-Marc
j'essaie dès demain
à suivre
-----Message d'origine-----
J'utilise aussi PDFCREATOR pour créer un fichier appelé
Booklents-sent.pdf

dans mes documents.
Ensuite je le copie sur le serveur dans un directory au
nom du représentant

puis je détruit le fichier de PDFCREATOR avant d'envoyer
le tout par e-mail

avec une adresse extraite d'une table, une adresse de
copie définie lors de

l'appel de la fonction et le fichier PDF en fichier
attaché.

J'ai écris cette fonction et elle fonctionne bien (chez
moi en tout cas).

Je t'ai mis des notes pour t'expliquer ce qu'il se passe
au fil de la

fonction.

Option Compare Database
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long)



Function envoi_email(Représentant As String, Optional Cc
As String)

On Error GoTo Err_fonction
Dim Message As New CDO.Message, Destinataire As
String

Dim corps As String, NomFichier As String, email As
String

Destinataire = DLookup
("[emailReprésentant]", "Représentants",

"[Représentant] = '" & Représentant & "'") 'Extraction
du nom du

représentant dans la table des représentants
Debut = Format(DateDebut, "yyyy-mm-
dd") 'Date du début de

l'état
Fin = Format(DateFin, "yyyy-mm-
dd") 'Date de fin de

l'état
NomFichier = "ServerSERVEUR(C)Mes
documentsRapports envois

brochures" & Représentant & "BelisleBookletsSentFrom"
& Debut & "To" & Fin

& ".pdf" 'Chemin et nom final du fichier pdf

DoCmd.PrintOut 'Impression de

l'état sous un nom et un chemin constants
boucle = 0
Size = 0
Set fso = CreateObject
("Scripting.FileSystemObject")


Do 'Boucle de

vérification de l'existance du fichier créé par
PDFCREATOR

If fso.FileExists("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf") Then Exit Do
Loop
Set f = fso.GetFile("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf")

Do 'Boucle pour

attendre que le fichier soit terminé d'être créé (sa
taille gonfle durant

plusieurs secondes)
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then
Exit Do

boucle = boucle + 1
Size = f.Size
If boucle > 20
Then 'Durée limite avant

l'envoi d'un message d'erreur. Ici si le fichier reste à
une taille nulle ou

gonfle pendant 20 secondes
alerte = MsgBox("Un problème est
survenu durant

l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être
interrompue et le

rapport NE sera PAS envoyé.", vbCritical, "Erreur de
procédure")

DoEvents
GoTo Exit_fonction
End If
Loop
f.Copy
NomFichier 'Copie du fichier de

PDFCREATOR à sa place définitive
DoEvents
f.Delete
Force 'Effacement du

fichier de PDFCREATOR

corps = "Attached is the list of the
booklets sent from " &

Format(DateDebut, "mm/dd/yyyy") & " until " & Format
(DateFin,

"mm/dd/yyyy") & vbCrLf & vbCrLf
corps = corps & "Jean-Marc"
With
Message 'Envoi du message

.To = Destinataire
.Cc = Cc
.Subject = "Booklets sending list"
.TextBody = corps
.AddAttachment (NomFichier)
.Send
End With
Set Message = Nothing
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Représentants " & _
"SET Représentants.[Date dernier
rapport] = '" & DateFin &

"'" & _
"WHERE Représentants.Représentant = '" &
Représentant & "';"

DoCmd.SetWarnings True

Exit_fonction:
Exit Function

Err_fonction:
MsgBox Err.Description
Resume Exit_fonction

fonction_Close:
Cancel = -1
Exit Function

End Function





Bonne journée,

Jean-Marc



"ORDINO" a écrit
dans le message de

news:41bf01c4a018$42506200$
Quand j'utilise
DoCmd.SendObject acSendReport, "Bon
d'achat","HTML" , "", , , "VOTRE PO", "Test
courriel html"
J'envoi par courriel mon rapport (ATTACHÉ) "Bon d'achat"
en format HTML à ORDINO SUJET="VOTRE PO" ET "Test
courriel html" COMME MESSAGE

Ça fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enrégistrer mon rapport dans un
fichier .PDF.

Alors comment envoyer un fichier comme attaché avec VBA
en passant les paramètres comme SendObject le fait.


.



Avatar
1-J'ai "imprimé" mon état avec PDFCREATOR dans "p:mes
documentsImpression Bon d'achat.pdf"

2- envoie du fichier par:
Sub courriel()
Dim Message As New CDO.Message
With Message 'Envoi du message
.To = "" 'Destinataire
.Subject = "PO:" & Forms![Commande]!
[PO] '"Booklets sending list"
.TextBody = "Test courriel fichier pdf" 'corps
.AddAttachment ("p:mes documentsImpression Bon
d'achat.pdf") '(Nom du Fichier)
.Send
End With
Set Message = Nothing
End Sub
3-Dès la première ligne je reçois le message:
"Type défini par l'utilisateur non défini"
4-Bibliotheque manquante? Si oui laquelle?
5-CDO ????

-----Message d'origine-----
J'utilise aussi PDFCREATOR pour créer un fichier appelé
Booklents-sent.pdf

dans mes documents.
Ensuite je le copie sur le serveur dans un directory au
nom du représentant

puis je détruit le fichier de PDFCREATOR avant d'envoyer
le tout par e-mail

avec une adresse extraite d'une table, une adresse de
copie définie lors de

l'appel de la fonction et le fichier PDF en fichier
attaché.

J'ai écris cette fonction et elle fonctionne bien (chez
moi en tout cas).

Je t'ai mis des notes pour t'expliquer ce qu'il se passe
au fil de la

fonction.

Option Compare Database
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long)



Function envoi_email(Représentant As String, Optional Cc
As String)

On Error GoTo Err_fonction
Dim Message As New CDO.Message, Destinataire As
String

Dim corps As String, NomFichier As String, email As
String

Destinataire = DLookup
("[emailReprésentant]", "Représentants",

"[Représentant] = '" & Représentant & "'") 'Extraction
du nom du

représentant dans la table des représentants
Debut = Format(DateDebut, "yyyy-mm-
dd") 'Date du début de

l'état
Fin = Format(DateFin, "yyyy-mm-
dd") 'Date de fin de

l'état
NomFichier = "ServerSERVEUR(C)Mes
documentsRapports envois

brochures" & Représentant & "BelisleBookletsSentFrom"
& Debut & "To" & Fin

& ".pdf" 'Chemin et nom final du fichier pdf

DoCmd.PrintOut 'Impression de

l'état sous un nom et un chemin constants
boucle = 0
Size = 0
Set fso = CreateObject
("Scripting.FileSystemObject")


Do 'Boucle de

vérification de l'existance du fichier créé par
PDFCREATOR

If fso.FileExists("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf") Then Exit Do
Loop
Set f = fso.GetFile("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf")

Do 'Boucle pour

attendre que le fichier soit terminé d'être créé (sa
taille gonfle durant

plusieurs secondes)
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then
Exit Do

boucle = boucle + 1
Size = f.Size
If boucle > 20
Then 'Durée limite avant

l'envoi d'un message d'erreur. Ici si le fichier reste à
une taille nulle ou

gonfle pendant 20 secondes
alerte = MsgBox("Un problème est
survenu durant

l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être
interrompue et le

rapport NE sera PAS envoyé.", vbCritical, "Erreur de
procédure")

DoEvents
GoTo Exit_fonction
End If
Loop
f.Copy
NomFichier 'Copie du fichier de

PDFCREATOR à sa place définitive
DoEvents
f.Delete
Force 'Effacement du

fichier de PDFCREATOR

corps = "Attached is the list of the
booklets sent from " &

Format(DateDebut, "mm/dd/yyyy") & " until " & Format
(DateFin,

"mm/dd/yyyy") & vbCrLf & vbCrLf
corps = corps & "Jean-Marc"
With
Message 'Envoi du message

.To = Destinataire
.Cc = Cc
.Subject = "Booklets sending list"
.TextBody = corps
.AddAttachment (NomFichier)
.Send
End With
Set Message = Nothing
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Représentants " & _
"SET Représentants.[Date dernier
rapport] = '" & DateFin &

"'" & _
"WHERE Représentants.Représentant = '" &
Représentant & "';"

DoCmd.SetWarnings True

Exit_fonction:
Exit Function

Err_fonction:
MsgBox Err.Description
Resume Exit_fonction

fonction_Close:
Cancel = -1
Exit Function

End Function





Bonne journée,

Jean-Marc



"ORDINO" a écrit
dans le message de

news:41bf01c4a018$42506200$
Quand j'utilise
DoCmd.SendObject acSendReport, "Bon
d'achat","HTML" , "", , , "VOTRE PO", "Test
courriel html"
J'envoi par courriel mon rapport (ATTACHÉ) "Bon d'achat"
en format HTML à ORDINO SUJET="VOTRE PO" ET "Test
courriel html" COMME MESSAGE

Ça fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enrégistrer mon rapport dans un
fichier .PDF.

Alors comment envoyer un fichier comme attaché avec VBA
en passant les paramètres comme SendObject le fait.


.



Avatar
Gafish
Bonjour,

As tu coché dans tes réferences (dans un module menu Outils...Réferences) la
réference CDO ? (Microsoft CDO.....)

Arnaud

a écrit dans le message de
news:16ac01c4a0a8$caae0a90$
1-J'ai "imprimé" mon état avec PDFCREATOR dans "p:mes
documentsImpression Bon d'achat.pdf"

2- envoie du fichier par:
Sub courriel()
Dim Message As New CDO.Message
With Message 'Envoi du message
.To = "" 'Destinataire
.Subject = "PO:" & Forms![Commande]!
[PO] '"Booklets sending list"
.TextBody = "Test courriel fichier pdf" 'corps
.AddAttachment ("p:mes documentsImpression Bon
d'achat.pdf") '(Nom du Fichier)
.Send
End With
Set Message = Nothing
End Sub
3-Dès la première ligne je reçois le message:
"Type défini par l'utilisateur non défini"
4-Bibliotheque manquante? Si oui laquelle?
5-CDO ????

-----Message d'origine-----
J'utilise aussi PDFCREATOR pour créer un fichier appelé
Booklents-sent.pdf

dans mes documents.
Ensuite je le copie sur le serveur dans un directory au
nom du représentant

puis je détruit le fichier de PDFCREATOR avant d'envoyer
le tout par e-mail

avec une adresse extraite d'une table, une adresse de
copie définie lors de

l'appel de la fonction et le fichier PDF en fichier
attaché.

J'ai écris cette fonction et elle fonctionne bien (chez
moi en tout cas).

Je t'ai mis des notes pour t'expliquer ce qu'il se passe
au fil de la

fonction.

Option Compare Database
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long)



Function envoi_email(Représentant As String, Optional Cc
As String)

On Error GoTo Err_fonction
Dim Message As New CDO.Message, Destinataire As
String

Dim corps As String, NomFichier As String, email As
String

Destinataire = DLookup
("[emailReprésentant]", "Représentants",

"[Représentant] = '" & Représentant & "'") 'Extraction
du nom du

représentant dans la table des représentants
Debut = Format(DateDebut, "yyyy-mm-
dd") 'Date du début de

l'état
Fin = Format(DateFin, "yyyy-mm-
dd") 'Date de fin de

l'état
NomFichier = "ServerSERVEUR(C)Mes
documentsRapports envois

brochures" & Représentant & "BelisleBookletsSentFrom"
& Debut & "To" & Fin

& ".pdf" 'Chemin et nom final du fichier pdf

DoCmd.PrintOut 'Impression de

l'état sous un nom et un chemin constants
boucle = 0
Size = 0
Set fso = CreateObject
("Scripting.FileSystemObject")


Do 'Boucle de

vérification de l'existance du fichier créé par
PDFCREATOR

If fso.FileExists("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf") Then Exit Do
Loop
Set f = fso.GetFile("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf")

Do 'Boucle pour

attendre que le fichier soit terminé d'être créé (sa
taille gonfle durant

plusieurs secondes)
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then
Exit Do

boucle = boucle + 1
Size = f.Size
If boucle > 20
Then 'Durée limite avant

l'envoi d'un message d'erreur. Ici si le fichier reste à
une taille nulle ou

gonfle pendant 20 secondes
alerte = MsgBox("Un problème est
survenu durant

l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être
interrompue et le

rapport NE sera PAS envoyé.", vbCritical, "Erreur de
procédure")

DoEvents
GoTo Exit_fonction
End If
Loop
f.Copy
NomFichier 'Copie du fichier de

PDFCREATOR à sa place définitive
DoEvents
f.Delete
Force 'Effacement du

fichier de PDFCREATOR

corps = "Attached is the list of the
booklets sent from " &

Format(DateDebut, "mm/dd/yyyy") & " until " & Format
(DateFin,

"mm/dd/yyyy") & vbCrLf & vbCrLf
corps = corps & "Jean-Marc"
With
Message 'Envoi du message

.To = Destinataire
.Cc = Cc
.Subject = "Booklets sending list"
.TextBody = corps
.AddAttachment (NomFichier)
.Send
End With
Set Message = Nothing
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Représentants " & _
"SET Représentants.[Date dernier
rapport] = '" & DateFin &

"'" & _
"WHERE Représentants.Représentant = '" &
Représentant & "';"

DoCmd.SetWarnings True

Exit_fonction:
Exit Function

Err_fonction:
MsgBox Err.Description
Resume Exit_fonction

fonction_Close:
Cancel = -1
Exit Function

End Function





Bonne journée,

Jean-Marc



"ORDINO" a écrit
dans le message de

news:41bf01c4a018$42506200$
Quand j'utilise
DoCmd.SendObject acSendReport, "Bon
d'achat","HTML" , "", , , "VOTRE PO", "Test
courriel html"
J'envoi par courriel mon rapport (ATTACHÉ) "Bon d'achat"
en format HTML à ORDINO SUJET="VOTRE PO" ET "Test
courriel html" COMME MESSAGE

Ça fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enrégistrer mon rapport dans un
fichier .PDF.

Alors comment envoyer un fichier comme attaché avec VBA
en passant les paramètres comme SendObject le fait.


.



Avatar
Nouveau Problème:

1-J'ai "imprimé" mon état avec PDFCREATOR dans "p:mes
documentsImpression Bon d'achat.pdf"

2- envoie du fichier par le code suivant:

Sub courriel()
Dim Message As New CDO.Message
With Message 'Envoi du message
.To = "" 'Destinataire
.Subject = "PO:" & Forms![Commande]!
[PO] '"Booklets sending list"
.TextBody = "Test courriel fichier pdf" 'corps
.AddAttachment ("p:mes documentsImpression Bon
d'achat.pdf") '(Nom du Fichier)
.Send
End With
Set Message = Nothing
End Sub

3-Dès la première ligne je reçois le message:
"Type défini par l'utilisateur non défini"

4-Bibliotheque manquante? Si oui laquelle?

5-J'ai fais une recherche sur CDO
J'ai trouvé sur un courriel de "Gafish" du 9/22/2004
6:42:03 AM :
"As tu coché dans tes références (dans un module menu
Outils...Références) la
référence CDO ? (Microsoft CDO.....)"

6-J'ai suivi son conseil= 1 problème réglé.

7-À la commande:
.send
je reçois :
"La valeur de configuration 'SendUsing' est non valide"

8-Le mot 'SendUsing' est inconnu sur le site

Un utilisateur du CDO peut-il m'aider?

Ordino




-----Message d'origine-----
Bonjour,

As tu coché dans tes réferences (dans un module menu
Outils...Réferences) la

réference CDO ? (Microsoft CDO.....)

Arnaud

a écrit dans le
message de

news:16ac01c4a0a8$caae0a90$
1-J'ai "imprimé" mon état avec PDFCREATOR dans "p:mes
documentsImpression Bon d'achat.pdf"

2- envoie du fichier par:
Sub courriel()
Dim Message As New CDO.Message
With Message 'Envoi du message
.To = "" 'Destinataire
.Subject = "PO:" & Forms![Commande]!
[PO] '"Booklets sending list"
.TextBody = "Test courriel fichier pdf" 'corps
.AddAttachment ("p:mes documentsImpression Bon
d'achat.pdf") '(Nom du Fichier)
.Send
End With
Set Message = Nothing
End Sub
3-Dès la première ligne je reçois le message:
"Type défini par l'utilisateur non défini"
4-Bibliotheque manquante? Si oui laquelle?
5-CDO ????

-----Message d'origine-----
J'utilise aussi PDFCREATOR pour créer un fichier appelé
Booklents-sent.pdf

dans mes documents.
Ensuite je le copie sur le serveur dans un directory au
nom du représentant

puis je détruit le fichier de PDFCREATOR avant d'envoyer
le tout par e-mail

avec une adresse extraite d'une table, une adresse de
copie définie lors de

l'appel de la fonction et le fichier PDF en fichier
attaché.

J'ai écris cette fonction et elle fonctionne bien (chez
moi en tout cas).

Je t'ai mis des notes pour t'expliquer ce qu'il se passe
au fil de la

fonction.

Option Compare Database
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long)



Function envoi_email(Représentant As String, Optional Cc
As String)

On Error GoTo Err_fonction
Dim Message As New CDO.Message, Destinataire As
String

Dim corps As String, NomFichier As String, email As
String

Destinataire = DLookup
("[emailReprésentant]", "Représentants",

"[Représentant] = '" & Représentant & "'") 'Extraction
du nom du

représentant dans la table des représentants
Debut = Format(DateDebut, "yyyy-mm-
dd") 'Date du début de

l'état
Fin = Format(DateFin, "yyyy-mm-
dd") 'Date de fin de

l'état
NomFichier = "ServerSERVEUR(C)Mes
documentsRapports envois

brochures" & Représentant & "BelisleBookletsSentFrom"
& Debut & "To" & Fin

& ".pdf" 'Chemin et nom final du fichier pdf

DoCmd.PrintOut 'Impression

de

l'état sous un nom et un chemin constants
boucle = 0
Size = 0
Set fso = CreateObject
("Scripting.FileSystemObject")


Do 'Boucle de

vérification de l'existance du fichier créé par
PDFCREATOR

If fso.FileExists("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf") Then Exit Do
Loop
Set f = fso.GetFile("C:Documents and
SettingsJMMes

documentsBooklet-sent.pdf")

Do 'Boucle pour

attendre que le fichier soit terminé d'être créé (sa
taille gonfle durant

plusieurs secondes)
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then
Exit Do

boucle = boucle + 1
Size = f.Size
If boucle > 20
Then 'Durée limite avant

l'envoi d'un message d'erreur. Ici si le fichier reste à
une taille nulle ou

gonfle pendant 20 secondes
alerte = MsgBox("Un problème est
survenu durant

l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être
interrompue et le

rapport NE sera PAS envoyé.", vbCritical, "Erreur de
procédure")

DoEvents
GoTo Exit_fonction
End If
Loop
f.Copy
NomFichier 'Copie du fichier de

PDFCREATOR à sa place définitive
DoEvents
f.Delete
Force 'Effacement du

fichier de PDFCREATOR

corps = "Attached is the list of the
booklets sent from " &

Format(DateDebut, "mm/dd/yyyy") & " until " & Format
(DateFin,

"mm/dd/yyyy") & vbCrLf & vbCrLf
corps = corps & "Jean-Marc"
With
Message 'Envoi du message

.To = Destinataire
.Cc = Cc
.Subject = "Booklets sending list"
.TextBody = corps
.AddAttachment (NomFichier)
.Send
End With
Set Message = Nothing
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Représentants " & _
"SET Représentants.[Date dernier
rapport] = '" & DateFin &

"'" & _
"WHERE Représentants.Représentant = '" &
Représentant & "';"

DoCmd.SetWarnings True

Exit_fonction:
Exit Function

Err_fonction:
MsgBox Err.Description
Resume Exit_fonction

fonction_Close:
Cancel = -1
Exit Function

End Function





Bonne journée,

Jean-Marc



"ORDINO" a écrit
dans le message de

news:41bf01c4a018$42506200$
Quand j'utilise
DoCmd.SendObject acSendReport, "Bon
d'achat","HTML" , "", , , "VOTRE PO", "Test
courriel html"
J'envoi par courriel mon rapport (ATTACHÉ) "Bon d'achat"
en format HTML à ORDINO SUJET="VOTRE PO" ET "Test
courriel html" COMME MESSAGE

Ça fonctionne sauf que les lignes sont perdus.

Avec PDFCREATOR je peux enrégistrer mon rapport dans un
fichier .PDF.

Alors comment envoyer un fichier comme attaché avec VBA
en passant les paramètres comme SendObject le fait.


.




.