Public Sub PrintLinebyLine()
'
' PrintLinebyLine Macro
' Macro enregistrée le 11/06/2006 par David Dubois
'
Dim LigneActive As Byte
Dim nombreligne As Byte
ActiveSheet.PageSetup.CenterHorizontally = True 'centre horizontallement
ActiveSheet.PageSetup.CenterVertically = True 'centre verticallement
Range('A11').Select 'sélectionne A11
Do Until ActiveCell.Value = '' 'tant que la cellule active est différente de numérique
ActiveCell.Offset(1, 0).Select 'descend d'une ligne
Loop
'lorsque ce n'est plus numérique, ça s'arrête
'ici il y'a plusieurs situation qui peuvent se poser : il s'arrête donc sur une case blanche car je lui ai demandé
'mais si juste au-dessus ou deux lignes plus haut l'information n'a rien à voir avec le nombre de ligne à imprimer
' est donc pas numérique, alors on remonte tant que la cellule active est = à du numérique.
If ActiveCell.Value = '' Then 'si la cellule active = rien, on remonte de 1.
ActiveCell.Offset(-1, 0).Select
End If
Do Until IsNumeric(ActiveCell) = True 'tant que ce n'est pas du numérique
ActiveCell.Offset(-1, 0).Select 'remonte de 1
Loop
nombreligne = ActiveCell.Value 'la variable nombreligne prend la valeur de la cellule active
Dim f
Rows('11:11').Select 'sélectionne la ligne 11
For f = 1 To nombreligne 'début du compteur 1 à nombreligne
LigneActive = ActiveCell.Row 'je donne la valeur de la ligne active à la variable ligneactive
ActiveSheet.PageSetup.PrintArea = Rows(LigneActive).Address 'la zone d'impression prend la valeur de la variable _
'Ligneactive
'je me demande si le problème ne vient pas de selection.printout ???
Selection.PrintOut Copies:=1, Collate:=True 'je sors l'info vers l'imprimante.
Rows(LigneActive + 1).Select 'descend d'une ligne par rapport à la ligne active
Next
Range('A11').Select 'sélectionne la cellule A10
ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address 'Définit la zone d'impression à tout le document.
End Sub