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
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
 

ChTi160

XLDnaute Barbatruc
Bonjour dindin
Excuses mais il fallait que je le fasse !
Un petit Coucou à mon ami @+Thierry !
Toujours là Lol
Bonne journée
jean marie
 

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
 

_Thierry

XLDnaute Barbatruc
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 Accro
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 ?


Voir 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 Accro
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
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re à tous,
Si le complément n'est pas là et que ça marche, cela veut dire que sous 2013 ce compléments est devenu natif et a disparu de la liste.
Il faut dire que je suis sous 2007;

So, bad way. Sorry.
 

soan

XLDnaute Accro
Re sylvanu,

Même si c'est un bad way, je laisse quand même le "J'aime" que je t'ai attribué,
car à part les différences de versions d'Excel, c'était quand même bien vu ; et puis,
on ne reprend pas un cadeau
. ;)

soan
 

dindin

XLDnaute Occasionnel
je ferai une capture d'écran du message d'erreur lundi . Peut être que ça aidera à comprendre mieux ce phénomène bizarre.
 

_Thierry

XLDnaute Barbatruc
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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas