Problème d'affichage de graphique avec ExportAsFixedFormat xlTypePDF

mhdingbi

XLDnaute Nouveau
Salut à tous,
Je n'arrive pas à trouver quelque chose de concret sur le net par rapport à mon problème alors je vous le soumet.
Pour imprimer une feuille que j'ai faite pour récapituler mon travail j'utilise la méthode ExportAsFixedFormat xlTypePDF. Mais j'ai remarqué que dès fois les graphiques ne s'affichent pas ou bien ils changent de position. Or cela serait très dérangeant pour un utilisateur. J'aimerai aussi savoir s'il y a une autre méthode plus sûr pour la transversalité de l'application c'est à dire qui peut être sur pour être utilisé sur plusieurs versions d'excel .
VB:
Sub ImprimerPrésentation()
Dim DossierDestination As Variant, NomFichier As String

DossierDestination = ThisWorkbook.Path & "\Résultats Formulations"
NomFichier = DossierDestination & "\Formulation béton-" & [CahierDesCharges.Référence] & " - " _
& [CahierDesCharges.NomClient] & " - " & [CahierDesCharges.NomProjet] & ".pdf"
   
    If [CahierDesCharges.BétonFluide].Value Then
    'Cacher une partie contenant l'abbaque Copt
        Range("PresentationResultats.GraphiqueCopt").Rows.Hidden = True
    Else
        Range("PresentationResultats.GraphiqueCopt").Rows.Hidden = False
    End If
   
    'Call MettreNomGraphiquePourGranulometrie   
   
    On Error Resume Next
        MkDir (ThisWorkbook.Path & "\Résultats Formulations")
    On Error GoTo 0
   
    MsgBox "Vos résultats seront enregistrés sur le dossier " & DossierDestination, vbInformation + vbOKOnly, "Message d'information"
   
    PresentationResultats.ExportAsFixedFormat xlTypePDF, NomFichier, Quality:=xlQualityStandard, _
     OpenAfterPublish:=True, IncludeDocProperties:=True, IgnorePrintAreas:=False
   
End Sub
 

mhdingbi

XLDnaute Nouveau
Merci beaucoup je lancerai un coup d’œil mais j'ai trouvé une solution à mon problème car je ne voulais pas que l'utilisateur aie à installer PDFCREATOR oubien autre chose.
J'ai déclaré une fonction empéchant la boite de dialoque de s'afficher en enregistrant directement.

VB:
#If VBA7 And Win64 Then
    Private Declare PtrSafe Function GetDesktopWindow Lib "user32" () As Long
#Else
    Private Declare Function GetDesktopWindow Lib "user32" () As Long
#End If

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
#Else
    Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
#End If

Sub ImprimerPrésentation()
Dim DossierDestination As Variant, NomFichier As String



DossierDestination = ThisWorkbook.Path & "\Résultats Formulations"
NomFichier = DossierDestination & "\Formulation béton-" & [CahierDesCharges.Référence] & " - " _
& [CahierDesCharges.NomClient] & " - " & [CahierDesCharges.NomProjet] & ".pdf"  
  
    On Error Resume Next
        MkDir (ThisWorkbook.Path & "\Résultats Formulations")
    On Error GoTo 0
  
    MsgBox "Vos résultats seront enregistrés sur le dossier " & DossierDestination, vbInformation + vbOKOnly, "Message d'information"
  
    'PresentationResultats.ExportAsFixedFormat xlTypePDF, NomFichier, Quality:=xlQualityStandard, _
     OpenAfterPublish:=True, IncludeDocProperties:=True, IgnorePrintAreas:=False
  
    LockWindowUpdate GetDesktopWindow
  
    PresentationResultats.PrintOut copies:=1, Preview:=False, ActivePrinter:="Microsoft Print To PDF", PrToFileName:=NomFichier, PrintToFile:=True
  
    LockWindowUpdate False
  
    Call DisableSpeedUp
  
End Sub
 

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG