Impression ligne si deux conditions réunies

libellule85

XLDnaute Accro
Bonjour le forum,

Je recherche un code vba pour imprimer une ligne si deux conditions sont remplies (la ligne va jusqu'à la colonne F):

par exemple si A7 remplie et D7 vide on imprime la ligne 7
et si A7 remplie et D7 remplie on n'imprime pas la ligne 7

la longueur verticale évolue pour l'instant j'en suis à 500 lignes

D'avance merci beaucoup pour votre aide
 

Pièces jointes

  • Impression si deux conditions remplies.xls
    20.5 KB · Affichages: 21

camarchepas

XLDnaute Barbatruc
Re : Impression ligne si deux conditions réunies

Bonjour Libellule,

Alors les solutions aux-quelles je pense :

Soit un filtre,
une copie du résultat vers un onglet temporaire.
Impression del'onglet
Suppression de l'onglet

Soit
Monter l'ensemble des ligne dans une variable tableau ,
Supprimer toutes les lignes non imprimables du tableau

composer un onglet d'impression.
Impression del'onglet
Suppression de l'onglet

Cordialement
 

libellule85

XLDnaute Accro
Re : Impression ligne si deux conditions réunies

Bonjour camarchepas,

Je remplis une ligne par jour, la 1ere cellule est renseignée le jour même mais la deuxième elle l'est en principe quelques jours plus tard.
Et c'est à la fin d'une semaine, d'un mois par exemple que j'imprime les lignes qui n'ont qu'une seule cellule de renseignée
 

job75

XLDnaute Barbatruc
Re : Impression ligne si deux conditions réunies

Bonjour libellule85, camarchepas,

Les lignes masquées ne sont jamais imprimées donc :

Code:
Sub Imrimer()
'imprime les lignes dont la colonne D est vide
On Error Resume Next
With Intersect([A:F], [A:A].SpecialCells(xlCellTypeConstants).EntireRow)
  Intersect([D:D], .Cells).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
  ActiveSheet.PageSetup.PrintArea = .Address
End With
ActiveSheet.PrintOut 'impression
Rows.Hidden = False
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Impression ligne si deux conditions réunies

Re,

A la reflexion il vaut mieux ceci :

Code:
Sub Imrimer()
'imprime les lignes dont la colonne D est vide
On Error Resume Next
With Intersect([A:F], [A:A].SpecialCells(xlCellTypeConstants).EntireRow)
  Intersect([D:D], .Cells).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
  ActiveSheet.PageSetup.PrintArea = .Address
  ActiveSheet.PrintOut 'impression
  .Rows.Hidden = False
End With
End Sub
En effet il peut y avoir des lignes volontairement masquées en dehors de la zone d'impression.

A+
 

job75

XLDnaute Barbatruc
Re : Impression ligne si deux conditions réunies

Re,

Bah j'ai fait l'inverse de ce qui est demandé, voici le bon code :

Code:
Sub Imrimer()
'imprime les lignes dont la colonne D est vide
On Error Resume Next
With Intersect([A:F], [A:A].SpecialCells(xlCellTypeConstants).EntireRow)
  .Rows.Hidden = True
  Intersect([D:D], .Cells).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
  ActiveSheet.PageSetup.PrintArea = .Address
  ActiveSheet.PrintOut 'impression
  .Rows.Hidden = False
End With
End Sub
A+
 

Discussions similaires

Réponses
7
Affichages
311

Statistiques des forums

Discussions
312 042
Messages
2 084 829
Membres
102 685
dernier inscrit
med_remi021