Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Merci je te tiens au courant
 

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

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 :



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
 

soan

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

_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
Un très grand merci Thierry
Le code que tu m'a proposé fonctionne très bien
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…