Impression sous VBA, ajustement à la page

eclipse

XLDnaute Nouveau
[Résolu] Impression sous VBA, ajustement à la page

Bonjour à tous,

J’ai développer un outil qui crée des tableaux de taille très variable, le tableau généré peut aussi bien être de 3 colonnes et 3 lignes que de 20 colonnes et 30 lignes.

J’ai trouvé comment forcer l’affichage sur 1 page pour l’impression des grands tableaux, mais pour les tableaux de plus petite taille je ne vois pas comment augmenter la taille. L’objectif étant que l’impression prenne le maximum de place sur la feuille (les petits tableaux se retrouvent en plein milieu avec des marges de 10cm autour).

Code:
‘redim la zone d’impression en fonction du nombre de ligne et de colonnes et imprime la feuille
Sub Imprimer(feuille, nbPer, nbPrd)

On Error Resume Next 'evite une erreur d'absence d'imprimante
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
On Error GoTo 0

Application.ScreenUpdating = False
With Sheets(feuille)
    With .PageSetup
        .Orientation = xlLandscape  'paysage
        .CenterHorizontally = True  'centré horizontalement
        .CenterVertically = True    'centré verticalement
        .PrintArea = Cells(6, 1).Address & ":" & Cells(nbPer, nbPrd).Address 'zone d'impression
        .LeftMargin = Application.InchesToPoints(0)   'marge gauche
        .RightMargin = Application.InchesToPoints(0)  'marge droite
        .TopMargin = Application.InchesToPoints(0)    'marge haut
        .BottomMargin = Application.InchesToPoints(0) 'marge bas
        .Zoom = False 'pas de zoom
        .FitToPagesTall = 1 '1 page en hauteur
        .FitToPagesWide = 1 '1 page en largeur
    End With
    .PrintOut 'imprime
End With
Application.ScreenUpdating = True

End Sub

Merci d'avance,
Eclpise



Résolu, j'ai trouvé la solution avec .HPageBreaks.Count et .VPageBreaks.Count
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94