Comment changer orientation d'impression par defaut

Excel Dude

XLDnaute Nouveau
Bonjour,

Je vous explique mon cas est un peu particulié. J'utilise excel seulement pour imprimer une feuille de données importé d'un autre logiciel qui doit etre en orientation paysage pour éviter d'etre sur 2 feuille. Je dois donc, a chaque fois, passer par :Aperçu avant impression/Imprimer/Propriétés/Configuration de la page'' et changer en paysage. J'ai essayé de changer la valeur de la variable ''orientation'' dans le profil d'impression par defaut mais, impossible. j'ai créer au autre profil mais je dois aller dans les option d'impression pour aller l'appliquer a chaque fois ce qui revien au meme que d'aller changer l'orientation. j'ai essayé de faire c'est meme chagement directement sur l'imprimante dans Windows mais ça revien au meme.

Donc ce que je voudrais, c'est qu'a l'ouverture d'excel avec mon fichier importé, je n'aie qu'a appuyer sur imprimer ou tout autre option qui pourait me sauver du temps!

Alors! y a t'il de l'espoire ou je me coupe tout de suite les veines avec mes feuille imprimé portrait??

Merci a l'avance
 

Papou-net

XLDnaute Barbatruc
Re : Comment changer orientation d'impression par defaut

Bonsoir Excel Dude, et bienvenue à toi,

Voici une solution par macro, mais je ne crois pas qu'il puisse y avoir une autre possibilité.
Tu écris les deux procédures événementielles suivantes dans le module de code de la feuille que tu veux imprimer en mode paysage.

Code:
Private Sub Worksheet_Activate()
ActiveSheet.PageSetup.Orientation = xlLandscape
End Sub

Private Sub Worksheet_Deactivate()
ActiveSheet.PageSetup.Orientation = xlPortrait
End Sub

La première macro passe la feuille en mode paysage lorsque tu l'actives, la seconde remet en mode portrait lorsque tu actives une autre feuille.

Espérant avoir répondu.

Cordialement.
 

job75

XLDnaute Barbatruc
Re : Comment changer orientation d'impression par defaut

Bonjour Excel Dude, salut Papou-net :)

La macro Worksheet_Deactivate paraît inutile, voire nuisible.

En effet la macro Worksheet_Activate modifie (éventuellement) la mise en page de la feuille concernée uniquement.

Mais il semble nettement préférable d'utiliser cette macro dans ThisWorkbook :

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Feuil1.PageSetup.Orientation = xlLandscape 'Feuil1=> CodeName
End Sub
Elle se lance chaque fois qu'on imprime quelque chose dans le classeur.

A+
 

Statistiques des forums

Discussions
312 304
Messages
2 087 050
Membres
103 441
dernier inscrit
MarioC