Salut la compagnie !
Je cherche à faire le truc le plus bête du monde à savoir imprimer la totalité d'un classeur qui contient 2 pages (en fait je voudrais l'aperçu avant impression).
Or la commande suivante ne donne pas le résultat voulu : Workbooks(1).PrintPreview. En fait cette commande me donne l'aperçu de la première page.
Le résultat est identique en avec activeworkbook ou thisworkbook.
D'où ma question : comment faire ?!
Je met la source entière pour voir si ça vient d'un truc que j'aurais dit au dessus.
Merci de votre aide.
++
Private Sub Imprimer_Click()
UF_Main.Hide
Dim i As Integer, page As Integer
i = 1
For page = 1 To 2
worksheets(page).Activate
'cache les colonnes inutiles
Columns("C" ).Hidden = True
Columns("E:H" ).Hidden = True
'largeur de colonne auto
Columns("A:D" ).AutoFit
'mise en page
With worksheets(page).PageSetup
.Orientation = xlLandscape
.LeftFooter = "&D &T"
.CenterHeader = "&B&18&A"
.RightFooter = "&P/&N"
End With
'définie la zone d'impression
Cells(1, 1).Activate
worksheets(page).PageSetup.PrintArea = _
ActiveCell.CurrentRegion.Address
'annule tous les sauts de page
Do
i = i + 1
Rows(i).PageBreak = xlPageBreakNone
Loop While Cells(i, 1).Value <> "POUSSINS"
i = 1
'insère un saut de page entre les catégories
Do
i = i + 1
If Cells(i, 1).Value = "0" Then
i = i + 1
Rows(i).PageBreak = xlPageBreakManual
i = i + 2
Else: i = i + 1
End If
Loop Until IsEmpty(Cells(i, 1)) = True
'reinitialise i
i = 1
Next page
worksheets(1).Activate
'aperçu avant impression du classeur
ActiveWorkbook.PrintPreview
End Sub
Message édité par binoua le 07-06-2007 à 15:17:15