XL 2016 Comment réduire la taille d'un fichier pdf enregistré depuis excel

  • Initiateur de la discussion Initiateur de la discussion MINIZ
  • 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 !

MINIZ

XLDnaute Nouveau
Bonjour,
j'ai créer un petit programme en vba qui m’enregistre une feuille A4 de classeur en pdf. Tout fonctionne sauf que le fichier pdf avoisine les 400ko et que le serveur où je dois upload mon fichier m'autorise 200ko max.
Avez vous une idée?
J'ai essayé en passant par imprimer => imprimante "pdf creator" cela me donne 48Mo sauf que je préfère la solution d'enregistrer sous .pdf car je peux enregistrer et donner le nom que je veux...
Ce petit programme est à destination d'une personne qui ne maîtrise pas l'informatique.

voici mon code pr enregistrer en pdf
VB:
Sub ImprimePDF()
Dim numfacture As Integer
'Enregistre le fichier excel
        ActiveWorkbook.Save
'Imprime en PDF et rajoute le numéro de facture
    Dim fichier As String
    fichier = "D:\Factures\Facture-" & "-" & [F2].Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fichier, Quality:=xlQualityMinimum, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
 
Bonjour Miniz

Un petit code qui semble aller très bien pour exporter en PNG, beaucoup moins lourd.
Bien sûr la source de zone d'export est à modifier.

Et sa source de départ pour le code.

@+

VB:
Sub exportpng()
Dim Plage As Range

Set Plage = Application.InputBox(Prompt:="Sélectionner votre zone: (Ex. A1:B10) ", _
                         Title:="Sélection de zone ", Default:="$A$1", Type:=8)

Application.ScreenUpdating = False
  Workbooks.Add
    Plage.CopyPicture
      ActiveSheet.Paste

With ActiveSheet.ChartObjects.Add(0, 0, _
                    Selection.Width, Selection.Height).Chart
    .Paste
    .Export "C:\Users\Duchateau\Desktop\Test.PNG", "PNG"
End With

ActiveWorkbook.Close False

End Sub
 
Salut
Bonjour Miniz

Un petit code qui semble aller très bien pour exporter en PNG, beaucoup moins lourd.
Bien sûr la source de zone d'export est à modifier.

Et sa source de départ pour le code.

@+

VB:
Sub exportpng()
Dim Plage As Range

Set Plage = Application.InputBox(Prompt:="Sélectionner votre zone: (Ex. A1:B10) ", _
                         Title:="Sélection de zone ", Default:="$A$1", Type:=8)

Application.ScreenUpdating = False
  Workbooks.Add
    Plage.CopyPicture
      ActiveSheet.Paste

With ActiveSheet.ChartObjects.Add(0, 0, _
                    Selection.Width, Selection.Height).Chart
    .Paste
    .Export "C:\Users\Duchateau\Desktop\Test.PNG", "PNG"
End With

ActiveWorkbook.Close False

End Sub
Salut, malheureusement je ne peux que transférer la facture en pdf ☹️
 
Re-Miniz et bonjour à Temjeh

Ok pour la réponse #5 mais Temjeh a parfaitement raison, pour une simple facture la taille doit être beaucoup plus petite que cela.

Un exemple à 20K et pourtant il y a deux logos.
Données bidons bien sûr mais c'est une facture classique.

Il est possible que votre fichier concerne des images en BITMAP qui soient beaucoup trop lourdes.
A vous lire.
 

Pièces jointes

- 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
4
Affichages
2 K
Retour