Problème transfert macro sous Excel 365

Bonsoir tout le monde,

j'ai besoin de votre aide SVP.

J'ai un classeur EXCEL365 sur mon pc et sur la feuille "commande" j'ai placé la macro ci-dessous afin de pouvoir enregistrer en pdf et envoyer ce pdf en mail outlook.
cela fonctionne très bien sur le pc.

Or j'ai le même classeur sur une clé USB avec laquelle je travaille à l'extérieur et quqnd je lance la macro depuis la clé USB cela ne fonctionne plus.
Alors les chemins de dossiers ont tous été adaptés, donc de ce côté RAS.

Voici tout d'abord voici la macro qui fonctionne bien sur le pc:

Sub EnvoiPDF()
Dim olApp As Outlook.Application
Dim m As Outlook.MailItem
Dim Objet As String
Dim Destinataire As String
Dim Nom As String
Nom = ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & Nom, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set olApp = CreateObject("Outlook.application")
Set m = olApp.CreateItem(0)
Destinataire = Range("G4")
Objet = "Bon de commande numéro: " & Range("H2")
With m
.To = Destinataire
.Subject = Objet
.Attachments.Add ActiveWorkbook.Path & "\" & Nom
.Display
End With
End Sub

ensuite voila le message erreur en image pièce jointe qu'il m'affiche lorsque je lance la macro depuis la clé USB: erreur macro sur usb

Merci pour votre aide.

Bonjour,

Vu comme ça il faut activer la librairies outlook. Sous l'éditeur VBA : Outils > Références > Cochez Microsoft Outlook 16.0 (ou supérieur) Object Library > OK puis relancez la macro.

Cdlt,

Bonsoir Ergotamine,

Merci pour ton conseil, malheureusement cela ne change rien !

Je ne comprends plus rien.

Re, Ergotamine,

Je crois avoir trouvé la solution ! En tout cas cela fonctionne. Voici la macro.

Sub EnvoiPDF()
Dim olApp As Object
Dim m As Object
Dim Destinataire As String
Dim Nom As String
Dim Objet As String
Nom = ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & Nom, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set olApp = CreateObject("Outlook.application")
Set m = olApp.CreateItem(0)
Destinataire = Range("G4")
Objet = "Bon de commande numéro: " & Range("H2")
With m
.To = Destinataire
.Subject = Objet
.Attachments.Add ActiveWorkbook.Path & "\" & Nom
.Display
End With
End Sub

Bonne soirée, je vous tiendrai informé si cela change, mais croisons les doigts !

Cdt Rubis

Rechercher des sujets similaires à "probleme transfert macro 365"