Bug Macro référence outlook version 2010 2013

Alban.aktisea

XLDnaute Nouveau
Bonjour à tous,

Je gère un parc informatique de 20 ordinateurs, certains sont sous Exel 2010 et d'autres 2013.

J'ai programmé une macro qui me permet d'envoyer un pdf : impression feuille classeur Excel via Outlook.

J'utilise une référence - VBAProject : Microsoft Outlook 14.0 Object Library

Tout va très bien sur Excel 2010! Par contre je lance la macro sur du Excel 2013 et ça plante...

Je m'aperçois que la macro cherche la référence VBAProject : Microsoft Outlook 15.0 Object Library. manquante. Pour rectifier le tire, je la sélectionne dans référence disponible et ça remarche.

Le problème se présente chaque fois que j'ouvre le fichier sur une version puis un autre.

Avez-vous une solution??

Merci
 

Staple1600

XLDnaute Barbatruc
Re : Bug Macro référence outlook version 2010 2013

Bonjour à tous

Alban.aktisea [highlight][Bienvenue sur le forum][/code]
1) Fais une recherche dans les archives du forum (avec la loupe en haut à droite)
mots clés: ajouter références

2) ou modifies ton code pour ne pas avoir à faire référence (Ce lien n'existe plus)
VB:
Sub Late_Binding()
Dim olObj As Object
Set olObj = CreateObject("Outlook.Application")
'Ici ton code VBA impression feuille classeur Excel via Outlook.
Set olObj = Nothing
End Sub
 

Alban.aktisea

XLDnaute Nouveau
Re : Bug Macro référence outlook version 2010 2013

Merci Staple1600 !

Je fais le test dans la journée pour voir si le bug a disparu, j'ai intégré ton code à ma macro.

J'utilise depuis longtemps le forum en visiteur car habituellement je trouve toujours réponses à mes questions dans les fils de discussion. Pour mon bug j'ai mal sélectionner les mots clés.

Je te tiens informé.

Bonne journée,
 

Alban.aktisea

XLDnaute Nouveau
Re : Bug Macro référence outlook version 2010 2013

Re,

Je viens d'effectuer le test et j'ai toujours le même problème.

-référence manquante

+ erreur de compilation : Type défini par l'utilisateur non défini sur la ligne Dim ol As New Outlook.Application

Je copie-colle la macro ci-dessous.

Merci pour ton aide



VB:
Dim Chemin As String, Fich As String, Rep As String, CheminComplet As String
 
Chemin = ThisWorkbook.Path
Fich = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name)
CheminComplet = Chemin & "\" & Fich & ".pdf"
Rep = Dir(Chemin & "\" & Fich & ".pdf")
 
If Rep = "" Then
    réponse = MsgBox("Le fichier n'existe pas, création du fichier PDFCreator", vbYesNo)
    If réponse = vbYes Then
Impression:
        ChDir Chemin
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Rep, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False 'n'affiche pas le fichier PDF
    Else
        MsgBox "Sortie de la procédure"
        Exit Sub
    End If
Else
    Réponse1 = MsgBox("le fichier existe voulez-vous le remplacer ?", vbYesNo)
    If Réponse1 = vbYes Then
        MsgBox "Remplacement du fichier existant"
        GoTo Impression
    Else
        MsgBox "Sortie de la procédure"
    End If
End If


 ' Envoyer
 
Dim olObj As Object
Set olObj = CreateObject("Outlook.Application")
'Ici ton code VBA impression feuille classeur Excel via Outlook.
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application

'envoyer fichier PDF par courriel

 Set olmail = ol.CreateItem(olMailItem)
 With olmail
 .To = "etienne.deschamps@wurth.fr" 'saisir l'adresse mail du commercial
 .CC = "vincent.bouillon@wurth.fr" 'saisir l'adresse du chef des ventes
 .Subject = ("Planning AKTISEA") 'ici le sujet
 .Body = "Bonjour," & vbCrLf & vbCrLf & "Vous trouverez en pièce jointe le planning AKTISEA en format PDF ainsi que le lsiting d'entreprises que nous travaillons" & vbCrLf & vbCrLf & "Bonne journée!"
 .Attachments.Add Chemin & "\" & Fich & ".pdf"
 .Attachments.Add Chemin & "\" & Fich & ".xlsm" 'ici la pièce jointe
 .Display '.Display /Send : Display correspond à l'affichage du message / Send demande un envoi direct
 Set olObj = Nothing
 End With

End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Bug Macro référence outlook version 2010 2013

Bonsoir à tous

Alban.axxxxxa
Il fallait modifier le code comme ci-dessous
[POUR LA PARTIE concernant OUTLOOK]
Code:
Dim olObj As Object, olmail As Object, CurrFile$
Set olObj = CreateObject("Outlook.Application")
'envoyer fichier PDF par courriel
 Set olmail = olObj.CreateItem(olMailItem)
 With olmail
 .To = "etienne.xxxxxx@xxxxxx.fr" 'saisir l'adresse mail du commercial
.CC = "vxxxxxxt.bxxxxxn@xxxxx.fr" 'saisir l'adresse du chef des ventes
.Subject = ("Planning XXXX") 'ici le sujet
.Body = "Bonjour," & vbCrLf & vbCrLf & "Vous trouverez en pièce jointe le planning XXXX en format PDF ainsi que le lsiting d'entreprises que nous travaillons" & vbCrLf & vbCrLf & "Bonne journée!"
 .Attachments.Add Chemin & "\" & Fich & ".pdf"
 .Attachments.Add Chemin & "\" & Fich & ".xlsm" 'ici la pièce jointe
.Display '.Display /Send : Display correspond à l'affichage du message / Send demande un envoi direct
End With
Set olObj = Nothing
End Sub

PS: Je te conseille de ne pas laisser trainer d'adresses mails réelles sur un forum public à moins que tu adores le spam ;)
 

Discussions similaires

Réponses
14
Affichages
661

Statistiques des forums

Discussions
312 275
Messages
2 086 707
Membres
103 377
dernier inscrit
fredy45