Je précise, que avant j’étais en Office365 alors que maintenant en Office 2016.
Dans le fichier modèle ci joint j’ai placé le code comme il est dans le fichier réel. Certaines lignes sont cochées afin de ne pas réagir.
En espérant que vous pouvez m’aider sur ce problème.
Je place des captures écrans des étapes qu’il me donne lorsque je clique sur le bouton pour envoyer ce mail.
Bonjour Rubis
Je n’ai pas Outlook donc ne peux tester
Mais dans ma besace VBA d’instructions pour cette application à ce niveau j’ai ces lignes :
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
Peut être toi de mettre :
Set olApp = New Outlook.Application
Set M = olApp.CreateItem(olAppMailItem)
A essayer
Je ne peux faire mieux en absence de cet outil mais j’ai plusieurs fois proposé cette procédure avec succès
Espérons pour toi de récidiver
Je croise les doigts
As tu vérifié dans la liste des références si pour Outlook plusieurs d’entre elles étaient existantes auquel cas c’est la version la plus récente qui doit être cochée
Ton application Outlook est elle ouverte à l’exécution de la procédure ?
Dans la negative essaies ainsi peut-être du mieux
Sinon avec un autre PC munis d’Outlook faire un essai
Celà fonctionne pb au niveau de ton ordinateur actuel
Cela ne fonctionne pas mieux pb au niveau du fichier voir d’en concevoir un autre en espérant plus de succès
je m’excuse, un moment, vous avez « LaDate » pour créer le pdf et sans « LaDate » pour l’attachment, je suppose
Sub Envoi_par_mail() 'envoyer la commande par mail au boulanger
'je déclare mes variables
Dim Chemin As String
Dim olApp As Object
Dim M As Object
Dim Destinataire As String
Dim Nom As String
Dim Objet As String
Dim LaDate$, Fichier
LaDate = Format(Now, "dd_mm_yyyy")
Chemin = "C:\Users\langm\Music\Excel\Archives MAIL AB\" & Nomdossier & "\"
Nom = ActiveSheet.Name & ".pdf"
Fichier = Chemin & "CDE_N°_" & " " & Range("C2").Value & " " & Range("D2").Value & " " & Range("C5").Value & " " & LaDate & " " & "envoyée" & ".pdf"
Sheets("MAIL AB").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(0)
Destinataire = Range("C8")
Objet = "Bon cde numéro: " & Range("C2") & " " & Range("D2")
With M
.To = Destinataire
.Subject = Objet
.Attachments.Add Fichier
.Display
End With
End Sub
Le point de blocage fait appel à une variable Fichier qui lui même fait appel à la variable Chemin cette dernière à la variable Nomdossier non defini en amont de cette procédure
Normal que cette ligne d’instruction bloque compte tenu de cette dernière variable non défini dans le code
A voir celle-ci pour lui donner la valeur adaptée ce qui je pense devrait résoudre ce blocage
Je pense que l’export du fichier pdf dépendant de ces mêmes variables ne dois pas être effectué
je ne comprends pas bien ta dernière explication.
Quand tu dis que le l’export du fichier pdf ne doit pas être effectué, mais cela est fait pour sauvegarder ce document envoyé par mail.
je ne comprends pas ! J’ai dans le même fichier un onglet avec lequel je procède de la même façon et qui lui fonctionne quand j’envoie le mail !
Voici son code
Sub envoi_info_panne_par_mail_en_pdf() 'envoyer commande par mail au fournisseur
'je déclare mes variables
Dim Chemin As String
Dim olApp As Object
Dim M As Object
Dim Destinataire As String
Dim Nom As String
Dim Objet As String
Chemin = "C:\Users\langm\Music\Excel\Archives PANNES\" & Nomdossier & "\"
Nom = ActiveSheet.Name & ".pdf"
Sheets("PANNE").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Chemin & "PANNE_" & Range("F5") & " " & Range("E12") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(0)
Destinataire = Sheets("PANNE").Range("B11")
Objet = "DEMANDE INTERVENTION POUR PANNE"
With M
.To = Destinataire
.Subject = Objet
.Attachments.Add Chemin & "PANNE_" & Range("F5") & " " & Range("E12") & ".pdf"
.Display
End With
End Sub
Sub Envoi_par_mail() 'envoyer la commande par mail au boulanger
'je déclare mes variables
Dim Chemin As String
Dim olApp As Object
Dim M As Object
Dim Destinataire As String
Dim Nom As String
Dim Objet As String
Chemin = "C:\Users\langm\Music\Excel\Archives MAIL AB\" & Nomdossier & "\"
Nom = ActiveSheet.Name & ".pdf"
Sheets("MAIL AB").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Chemin & "CDE_N°_" & " " & Range("C2").Value & " " & Range("D2").Value & " " & Range("C5").Value & " " & "envoyée" & ".pdf", 'Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(0)
Destinataire = Range("C8")
Objet = "Bon cde numéro: " & Range("C2") & " " & Range("D2")
With M
.To = Destinataire
.Subject = Objet
.Attachments.Add Chemin & "CDE_N°_" & " " & Range("C2").Value & " " & Range("D2").Value & " " & Range("C5").Value & " " & "envoyée" & ".pdf"
End With
End Sub