Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro Imprimer : Dimensionner taille A4 automatiquement

GuillaumA

XLDnaute Occasionnel
Bonjour ou re-bonjour tous le monde!

J'utilise actuellement la macro suivante afin d'imprimer mes tableaux. Problème, je dois pour chaque page ou la macro est utilisé, dimensionner manuellement chaque tableau a sa feuille correspondante. Ya t'il une fonction VBA permettant d'automatiquement mettre mon tableau au maximum d'une page A4 ?




Cordialement,
Guillaume A.
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Bonjour Guillauma,

Peut-être qu'en rajoutant les lignes en rouge ?

Code:
Sub impression()
Dim MyValue As Byte
MyValue = MsgBox("Voulez vous imprimer ?", vbYesNo + vbDefaultButton1)
If MyValue = vbNo Then Exit Sub

With ActiveSheet
.PageSetup.PrintArea = "$C$3:$H$17"
With .PageSetup
[COLOR="Red"][B].PaperSize = xlPaperA4[/B][/COLOR]
.Orientation = xlLandscape '
[COLOR="Red"][B].FitToPagesWide = 1
.FitToPagesTall = 1[/B][/COLOR]
.BlackAndWhite = True
.Zoom = 71
End With
.PrintOut Copies:=1
End With

End Sub

Espérant avoir répondu.

Cordialement.
 

tototiti2008

XLDnaute Barbatruc
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Bonjour à tous,

une remarque en passant : les fittopage ne fonctionnent qu'en réduction
si le tableau n'est pas assez grand pour remplir une page, il ne sera pas agrandi...
 

GuillaumA

XLDnaute Occasionnel
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Tout a fait exact. Après test les tableaux trop petit restent... petit =D
Les tableau plus grand... diminue à la bonne taille.

Conclusion: C'est bien dommage, j'aurai bien agrandi mes petits tableaux pour qu'ils soient de la taille d'une page A4.
 

Papou-net

XLDnaute Barbatruc
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Re-bonjour GuillaumA, tototiti2008,

En mettant la propriété FitToPagesAll à False,
le tableau s'imprimera sur 1 page en largeur et autant de pages que nécessaire en hauteur :

Code:
.FitToPagesTall = False

Cordialement.
 

CG2000

XLDnaute Occasionnel
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Bonsoir le Fil, bonsoir le Forum,

Le code présenté de Papou-net est parfait en tous sens :

Code:
Sub impression()
Dim MyValue As Byte
MyValue = MsgBox("Voulez vous imprimer ?", vbYesNo + vbDefaultButton1)
If MyValue = vbNo Then Exit Sub

With ActiveSheet
.PageSetup.PrintArea = "$A$1:$W$65000"
With .PageSetup
.PaperSize = xlPaperA4
.Orientation = xlLandscape '
.FitToPagesWide = 1
.FitToPagesTall = False
.BlackAndWhite = True
.Zoom = 71
End With
.PrintOut Copies:=1
End With

End Sub

Mais je recherche à ajuster l'impression à la dernière ligne non vide de la colonne A. En sachant que chaque jour la feuille d'impression peut varier en nombre de lignes, aujourdhui A1 à W600, puis peut-être A1 à W60000 et A1 à W10 ....

Merci par avance de votre aide.

CG2000
 

CG2000

XLDnaute Occasionnel
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Bonjour le Fil, Bonjour au Forum,

Merci bhbh pour ta proposition, mais elle ne semble pas fonctionner (voir fichier-joint).

CG2000
 

Pièces jointes

  • Sub Impression.zip
    14.3 KB · Affichages: 80
  • Sub Impression.zip
    14.3 KB · Affichages: 72
  • Sub Impression.zip
    14.3 KB · Affichages: 88
Dernière édition:

CG2000

XLDnaute Occasionnel
Re : Macro Imprimer : Dimensionner taille A4 automatiquement

Bonsoir le Forum, Bonsoir le fil,

La solution est résolu avec ces trois lignes (créer avec l'enregistreur de macro)

Code:
Sub impression()
Dim MyValue As Byte
MyValue = MsgBox(" Confirmez-vous l'édition du document récapitulatif ?", vbYesNo + vbDefaultButton1)
If MyValue = vbNo Then Exit Sub

[COLOR="Red"]With ActiveSheet
Selection.Copy
Application.CutCopyMode = False[/COLOR]

With .PageSetup
.PaperSize = xlPaperA4
.Orientation = xlLandscape '
.FitToPagesWide = 1
.FitToPagesTall = False
.BlackAndWhite = True
.Zoom = 70
End With
.PrintOut Copies:=1
End With

End Sub

par contre il est impératif de sélectionner les cellules voulues avant de lancer cette macro.
Comment puis-je en lançant cette macro qu'une fenètre de sélection me demande de sélectionner ma zone d'impression voulu en cours de déroulement de la macro (et non avant le lancement de la macro) ?

Merci par avance de votre aide
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…