Ne pas imprimer si valeur cellule=0

spollet

XLDnaute Nouveau
Bonjour, je suis nouveau sur le site. Je cherche une solution pour pouvoir imprimer que les pages d'une feuille dont la cellule est non vide (sachant que cette cellule contient une liaison vers un autre tableau),j'ai 6 pages par feuille.J'ai actuellement un bout de code en VBA (Voir ci-dessous) qui me lance bien l'impression seulement si la cellule de la première page est non vide et que les 5 autres cellules des 5 autres pages sont vides sa m'imprime la totalité des pages.
Sub Bouton8_QuandClic()
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Activate
If Range("D42,D97,D152,D207,D262,D317") <> "0" Then ActiveWorkbook.Sheets(i).PrintOut Copies:=1, Collate:=True
Next i
End Sub

Merci de votre retour
 

Gorfael

XLDnaute Barbatruc
Re : Ne pas imprimer si valeur cellule=0

Salut spollet et le forum
Utilises les balises de code (# en mode avancé)
Code:
Sub Bouton8_QuandClic()
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets(i).Range("D42,D97,D152,D207,D262,D317") <> "0" Then Sheets(i).PrintOut Copies:=1, Collate:=True
Next i
End Sub
A+
Edit
Déjà, bienvenue
Code:
Range("D42,D97,D152,D207,D262,D317") <> "0"
Pas sûr de ce que peut signifier cette instruction
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Ne pas imprimer si valeur cellule=0

Bonjour Spollet, Gorfael:)

selon ma compréhension :
Code:
Dim i As Integer, j As Byte, t() As Variant
t = Array("D42", "D97", "D152", "D207", "D262", "D317")
For i = 1 To Worksheets.Count
    For j = 0 To 5
        If Worksheets(i).Range(t(j)) <> "0" Then Worksheets(i).PrintOut From:=j + 1, To:=j + 1, Copies:=1, Collate:=True
    Next j
Next i

bon après midi
@+
 

spollet

XLDnaute Nouveau
Re : Ne pas imprimer si valeur cellule=0

Bonjour,
Déjà merci aux personnes qui ont consacrées un peu de temps à mon problème. J'ai testé la solution de Gorfael mais sa continue toujours à m'imprimer automatiquement les 6 pages de ma feuille. Et pour la réponse de Pierrot93 j'ai une erreur de compilation au niveau des différentes cellules t = Array("D42", "D97", "D152", "D207", "D262", "D317").
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Ne pas imprimer si valeur cellule=0

Bonjour,

pas de problème chez moi :
Code:
t = Array("D42", "D97", "D152", "D207", "D262", "D317")

cette ligne ne provoque pas d'erreur...
supposant que tu ais bien gardé la déclaration des variables...
Code:
Dim i As Integer, j As Byte, t() As Variant
bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Ne pas imprimer si valeur cellule=0

Re,

le code est à placer dans une procédure, avec déclaration de procédure et fin de procédure, comme ci-dessous :
Code:
Sub mamacro()
Dim i As Integer, j As Byte, t() As Variant
t = Array("D42", "D97", "D152", "D207", "D262", "D317")
For i = 1 To Worksheets.Count
    For j = 0 To 5
        If Worksheets(i).Range(t(j)) <> "0" Then Worksheets(i).PrintOut From:=j + 1, To:=j + 1, Copies:=1, Collate:=True
    Next j
Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 240
Messages
2 086 517
Membres
103 239
dernier inscrit
wari