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

  • Initiateur de la discussion Initiateur de la discussion dindin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
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:
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
 
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
 
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
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
824
Réponses
3
Affichages
539
Réponses
10
Affichages
487
Retour