Impression ligne si deux conditions réunies

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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+
 
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+
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
448
Réponses
9
Affichages
326
Réponses
26
Affichages
2 K
Réponses
0
Affichages
888
Réponses
3
Affichages
1 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
D
Réponses
4
Affichages
1 K
P
Réponses
4
Affichages
832
P
Retour