Impression pdf tronquée suivant l'ordinateur utilisé

Fermé
qaywsx - 10 nov. 2014 à 17:50
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 10 nov. 2014 à 19:15
Bonjour,

J'ai créé une macro qui créé un fichier pdf en utilisant la fonction ExportAsFixedFormat Type:=xlTypePDF. Lorsque j'utilise mon fichier sur mon PC tout fonctionne sans problème. Par contre sur celui d'un collègue, le tableau est tronqué (la dernière colonne est imprimée sur la page suivante.

A mon avis cela vient du fait que nous n'avons pas les même imprimantes, Excel doit peut-être faire une mise en page sur la base des caractéristiques de l'imprimante configurée. J'ai déjà rencontré ce problème en faisant un aperçu avant impression d'un document réalisé sur un autre PC.

Auriez-vous une solution ? Peut-on interdir à Excel de repaginer ses feuilles ? Il faut que j'arrive à faire en sorte que mon fichier puisse être utilisé sur n'importe quel PC et qu'il m'imprime des pdf qui ont toujours la même pagination.

D'avance merci pour votre aide, j'ai passé des heures sur internet sans trouver de solution.

Fred


A voir également:

3 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
10 nov. 2014 à 17:53
0
Zoul67,

Merci pour ta réponse, mais saurais-tu comment faire appel et paramétrer la fonction "Ajuster" en VBA ?

En fait, les utilisateurs clic sur un bouton qui fait appel à une macro assez complexe, avec des calculs et l'impression de plusieurs pdf dans des répertoires créés.

Il faudrait que j'arrive à intégrer le code dans ma macro pour que la mise en page avant l'impression se fasse automatiquement.

Merci
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
10 nov. 2014 à 19:15
Deux cas :
- soit tes feuilles existent dès le départ et tu effectues l'ajustement à la main une fois pour toutes ;
- soit tu crées des pages et tu peux utiliser un code du genre :
    With ActiveSheet.PageSetup
        .PrintArea = "$E$1:$I$15"
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With

(obtenu en enregistrant les actions).
0