Bonjour à la communauté,
J'ai un soucis qui me fait tourner en bourrique!
j'ai un programme VBA qui sort un facture en pdf et qui l'enregistre dans un répertoire. Sitôt après, je cherche à envoyer ce document par email (Gmail) avec le Pgm ci-après.
Tout se déroule bien sauf pour la pièce jointe qui me dit que le fichier est introuvable (voir la capture d'écran) malgré qu'il existe vraiment dans le répertoire et réalisé quelques lignes de code avant .
Par contre, le passage de la PJ se déroule bien si je met en direct le chemin du ficher (par ex "C:\Users\JPaul\Documents\Fax\Facture Num 8 du 2023_12_11.pdf" à la place de la variable "FichierJoint") alors que ce même chemin déclarait une erreur le coup d'avant.
Si vous avez des idées je vous remercie par avance de votre aide
JPaul
J'ai un soucis qui me fait tourner en bourrique!
j'ai un programme VBA qui sort un facture en pdf et qui l'enregistre dans un répertoire. Sitôt après, je cherche à envoyer ce document par email (Gmail) avec le Pgm ci-après.
VB:
'Envoi d'email avec la facture en PJ
'il faut passer,email destinataire,email de l'émetteur,MdP emetteur, le chemin de la PJ en option
Sub Office365_Email(mailReferent As String, usermail As String, pwdSender As String, Optional FichierJoint As String)
Dim objMessage, objConfig, Fields
Set objMessage = CreateObject("CDO.Message")
Set objConfig = CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = usermail
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = pwdSender
'.Item("http://schemas.microsoft.com/cdo/configuration/sendtls") = False
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/cdoSMTPConnectionTimeout") = 60
.Update
End With
Set objMessage.Configuration = objConfig
With objMessage
.Subject = [Obj_Mail] & [Text_Saisie_Fact]
.From = usermail
.To = mailReferent
.CC = usermail
' .BCC = "copie_cachee@exemple.com"
' .Importance = 2 ' Urgent
'.HTMLBody = "<h1>Test Message depuis excel</h1>" ''ou .TextBody = Corps
.TextBody = [Messag_Mail]
If Len(FichierJoint) <> 0 Then .AddAttachment (FichierJoint)
.Send
End With
Set objMessage = Nothing
Set objConfig = Nothing
Set Fields = Nothing
MsgBoxX "Le message a été envoyé à " & mailReferent, vbInformation, DelayOfResponse:=2
' Libérer les objets CDO
Set iMsg = Nothing
Set iConf = Nothing
End Sub
Tout se déroule bien sauf pour la pièce jointe qui me dit que le fichier est introuvable (voir la capture d'écran) malgré qu'il existe vraiment dans le répertoire et réalisé quelques lignes de code avant .
Par contre, le passage de la PJ se déroule bien si je met en direct le chemin du ficher (par ex "C:\Users\JPaul\Documents\Fax\Facture Num 8 du 2023_12_11.pdf" à la place de la variable "FichierJoint") alors que ce même chemin déclarait une erreur le coup d'avant.
Si vous avez des idées je vous remercie par avance de votre aide
JPaul
Pièces jointes
Dernière édition: