dans une feuille j'ai en colonne A des formules du type
=si(Feuil2!C10="";"";Feuil2!A1)
de la ligne 1 à 100. Le problème est que quand l'imprime la feuille, Excel imprime jusqu'à la ligne 100 même si rien n'est affiché, il doit prendre "" pour une valeur à imprimer. Je voudrais que s'il y a des valeurs qu'à la ligne 30, on imprime pas plus loin. Bref si quelqu'un à une astuce...
as-tu des lignes vides au milieu de la plage à imprimer ?
Quelle est la plage ? hormis le dernière ligne (variable)
Claude
édit: plage à régler
Sub ImprimeLignes()
Dim Rep%, Lg%, i%, x As Byte
''Macros par Claude Dubois pour "Math" E-P le 26/01/10"
Lg = Range("A65536").End(xlUp).Row
Application.ScreenUpdating = False
For i = Lg To 1 Step -1
If Cells(i, 1) = "" Then
x = i - 1
Exit For
End If
Next i
With ActiveSheet
.PageSetup.PrintArea = "a1:f" & x
.PrintPreview 'aperçu
Rep = MsgBox("On imprime ?", vbYesNo + _
vbCritical + vbDefaultButton2, "Impression")
If Rep = vbYes Then
.PrintOut
End If
End With
End Sub
Merci Boisgontier, c'est exactement le genre de truc que je cherchais. Je suis pas sur encore de toute comprendre la formule mais j'ai réussi à l'adapter à ma feuille et ça fonctionne perfectement.
Merci Dubois mais je voulais me passer de macro pour ce classeur.