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

XL 2016 Macro, ne pas imprimer les lignes suivant une valeur

cardi

XLDnaute Junior
Bonjour,

J'ai trouvé une macro pour ne pas imprimer les lignes vide :

VB:
Sub ImprimeSansVide()

Dim Plage As Range
On Error Resume Next
Application.ScreenUpdating = False
  With ActiveSheet
    Set Plage = .Range("B1:B1002").Cells.SpecialCells(xlCellTypeBlanks)
      If Not Plage Is Nothing Then Plage.Rows.Hidden = True
    .PrintPreview 'pour voir sans imprimer
    '.PrintOut ' pour imprimer directement
    .Rows.Hidden = False
  End With
End Sub

J'aimerai modifier ce code pour que si dans la colonne B, on a la valeur 1, on imprime la ligne, si la valeur est = 0, on n'imprime pas la ligne.

Que faudrait-il modifier pour cela?

Merci d'avance,

Cardi
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Cardi, bonjour le forum,

Essaie comme ça :

VB:
Sub ImprimeSansVide()
Dim Plage As Range
Dim CEL As Range

Application.ScreenUpdating = False
With ActiveSheet
    Set Plage = .Range("B1:B1002")
    For Each CEL In Plage
        If CEL.Value = 0 Then Rows(CEL.Row).Hidden = True
     Next CEL
     .PrintPreview 'pour voir sans imprimer
        '.PrintOut ' pour imprimer directement
    .Rows.Hidden = False
End With
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

À mon avis il bloque pas mais il est très long à s'exécuter car il travaille cellule après cellule sur 1002 lignes... Laisse le tourner un jour ou deux puis tu vois... Je t'avoue que je n'ai pas testé, j'ai juste retravaillé ton code.

[Édition]
Testé. Ça marche chez moi en quelques secondes (<3)
 

Discussions similaires

Réponses
6
Affichages
142
Réponses
2
Affichages
154
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…