XL 2016 Aux experts VBA ; macro fonctionne sur un Pc mais pas sur un autre (excel 2016)

dindin

XLDnaute Occasionnel
Bonjour
j'utilise ce code pour convertir un onglet d'un classeur en PDF et l'enregistrer dans le même classeur que le fichier mère.
sur mon ordi perso il fonctionne très bien.

VB:
Sub pdf_TR()
Dim fName As String
With Worksheets("Facture_TR")
    fName = .Range("E9").Value & " _ " & .Range("B15").Value
End With
'ChDir "H:\pol\dossiers partagés\4 AS et communication\4 AS\Applications\PS"
'récuperer le chemein du dossier source
ChDir ThisWorkbook.Path


'où Path_name récupère le chemin du dossier où est enregistré le fichier.
'ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'"H:\pol\dossiers partagés\4 AS et communication\4 AS\Applications\PS\" & fName, Quality:= _
'xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
'OpenAfterPublish:=False


'enregistrer le pdf dans le même dossier que le fichier source
[CODE]ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

ThisWorkbook.Path & "\" & fName, Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

OpenAfterPublish:=False
'afficher message à la fin d'enregistrement du PDF
MsgBox ("Le permis " & fName & " a été bien enregistré en PDF dans : " & ThisWorkbook.Path & vbLf & "Vous pouvez joindre ce fichier par mail.")
'enregistrer le classeur
ActiveWorkbook.Save

End Sub[/CODE]

dès que je lance la même marco sur un autre PC (qui contient la même version d'excel 2016) il me sort "Erreur d'automation") et bloque sur cette partie de code.
Code:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

ThisWorkbook.Path & "\" & fName, Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

OpenAfterPublish:=False
j'aurai besoin de votre aide
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @dindin , le Forum

Je ne pense pas que la cause du problème soit dûe au changement de machine si ce sont les mêmes versions Office 2016...

Tu devrais plutôt essayer de déclarer la feuille au lieu de "ActiveSheet" et aussi vérifier le FileName.

VB:
Dim WS As WorkSheet
Dim fName As String

Set WS = ThisWorkbook.Worksheets("Facture_TR")

With WS
    fName = .Range("E9").Value & " _ " & .Range("B15").Value
End With

MsgBox fName  '<<< Pour vérifier ce qu'il y a comme nom.... (Sans caractère interdit)

WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & fName, _ 
                                                                         Quality:=xlQualityStandard,  _ 
                                                                         IncludeDocProperties:=True, _ 
                                                                         IgnorePrintAreas:=False, _
                                                                         OpenAfterPublish:=False

'etc.....

Bon week-end
@+Thierry
 

dindin

XLDnaute Occasionnel
Bonjour @dindin , le Forum

Je ne pense pas que la cause du problème soit dûe au changement de machine si ce sont les mêmes versions Office 2016...

Tu devrais plutôt essayer de déclarer la feuille au lieu de "ActiveSheet" et aussi vérifier le FileName.

VB:
Dim WS As WorkSheet
Dim fName As String

Set WS = ThisWorkbook.Worksheets("Facture_TR")

With WS
    fName = .Range("E9").Value & " _ " & .Range("B15").Value
End With

MsgBox fName  '<<< Pour vérifier ce qu'il y a comme nom.... (Sans caractère interdit)

WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & fName, _
                                                                         Quality:=xlQualityStandard,  _
                                                                         IncludeDocProperties:=True, _
                                                                         IgnorePrintAreas:=False, _
                                                                         OpenAfterPublish:=False

'etc.....

Bon week-end
@+Thierry

Merci je te tiens au courant
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Dindin,Thierry,ChTi,
En regardant la doc MS sur ExportAsFixedFormat, ils précisent :
" Une erreur se produit si le complément PDF n’est pas installé. "
Serait il possible que les XL soient les mêmes mais pas les compléments ?


1.jpg
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Salut Sylvanu, re @dindin , @ChTi160 , le Forum,

Ah oui, bien vu Sylvanu, ça aussi c'est une possibilité, en fait à chaque fois que j'ai installé Excel, depuis 2013, je n'ai jamais trop fait des installations en allant dans la personalisation pour supprimer des compléments par défaut, mais c'est sûr que si c'est une option, ça peut causer une "Erreur d'automation" quoique le message pourrait être plus explicit !

Hello Jean-Marie salut à toi aussi mon ami ;)

Bonne soirée
@+Thierry
 

soan

XLDnaute Barbatruc
Inactif
Salut sylvanu, le fil,

Ah oui, moi aussi, je trouve que c'est bien vu ! (+1 like pour sylvanu)

Au cas où ça va s'avérer que c'est bien ça, alors ce sera très bien vu,
et je transformerai mon "J'aime" en "J'adore". ;)


soan
 
Dernière édition:

dindin

XLDnaute Occasionnel
Bonsoir Dindin,Thierry,ChTi,
En regardant la doc MS sur ExportAsFixedFormat, ils précisent :
" Une erreur se produit si le complément PDF n’est pas installé. "
Serait il possible que les XL soient les mêmes mais pas les compléments ?


Regarde la pièce jointe 1077770
Bonsoir merci pour la remarque,
je viens de tester sur un excel 2019 le même fichier et cela fonctionne très bien.
par contre voici la fenêtre des compléments que j'ai sur ce même PC (je ne trouve pas celui de PDF )
1599337012195.png

Lundi je testerai le code de
_Thierry
sur le PC qui m'affiche l'erreur
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir dindin, le fil,

ben alors, ça a bien l'air d'être ce qu'a trouvé sylvanu : tu installes le complément PDF
sur ce PC et ce sera réglé ; par contre, s'il manque le complément PDF sur les 2 PC,
et que ça marche quand même sur un PC et pas sur l'autre, ce sera à n'y rien piger ;
wait and see... ;)

soan
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re à tous

Je viens de regarder sur un PC où le " ExportAsFixedFormat " (Type:=xlTypePDF) fonctionne sous Office 2013 et dans les add-ins :

1599338090698.png


Et en effet je n'ai pas cet add-ins : "PDFcomplete" et celà fonctionne, donc oui comme tu dis Soan c'est bizarre...

Bonne soirée/nuit
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonsoir @dindin , le Fil

Essaies aussi en exécutant la Sub "pas à pas" [F8], parfois ca permet de mieux comprendre...
Et ajoutes une ligne : (avant le WS.ExportAsFixedFormat.....)
Debug.Print fName '<<< Pour vérifier ce qu'il y a comme nom.... (Sans caractère interdit)
Que tu pourras mieux vérifier dans "Immediate Windows" (CTRL + G)

Bon débuggage !
@+Thierry
 
Dernière édition:

dindin

XLDnaute Occasionnel
Re bonsoir @dindin , le Fil

Essaies aussi en exécutant la Sub "pas à pas" [F8], parfois ca permet de mieux comprendre...
Et ajoutes une ligne : (avant le WS.ExportAsFixedFormat.....)
Debug.Print fName '<<< Pour vérifier ce qu'il y a comme nom.... (Sans caractère interdit)
Que tu pourras mieux vérifier dans "Immediate Windows" (CTRL + G)

Bon débuggage !
@+Thierry
Un très grand merci Thierry
Le code que tu m'a proposé fonctionne très bien
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo